" + topLine +"
"; + for (var i = 0; i < printJob.configurationChanges.length; i++) { + var change = printJob.configurationChanges[i]; + var text; + switch (change.typeOfChange) { + case "material_change": + text = catalog.i18nc("@label", "Change material %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case "material_insert": + text = catalog.i18nc("@label", "Load %3 as material %1 (This cannot be overridden).").arg(change.index + 1).arg(change.targetName); + break; + case "print_core_change": + text = catalog.i18nc("@label", "Change print core %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case "buildplate_change": + text = catalog.i18nc("@label", "Change build plate to %1 (This cannot be overridden).").arg(formatBuildPlateType(change.target_name)); + break; + default: + text = ""; + } + result += "" + text + "
"; + } + return result; + } + wrapMode: Text.WordWrap; + } - delegate: PrinterFamilyPill - { - text: modelData - color: UM.Theme.getColor("viewport_background") - padding: 3 * screenScaleFactor + Button { + anchors { + bottom: parent.bottom; + left: parent.left; + } + background: Rectangle { + border { + color: UM.Theme.getColor("monitor_lining_heavy"); + width: UM.Theme.getSize("default_lining").width; + } + color: parent.hovered ? UM.Theme.getColor("monitor_card_background_inactive") : UM.Theme.getColor("monitor_card_background"); + implicitHeight: UM.Theme.getSize("default_margin").height * 3; + implicitWidth: UM.Theme.getSize("default_margin").height * 8; + } + contentItem: Label { + color: UM.Theme.getColor("text"); + font: UM.Theme.getFont("medium"); + horizontalAlignment: Text.AlignHCenter; + text: parent.text; + verticalAlignment: Text.AlignVCenter; + } + onClicked: { + overrideConfirmationDialog.visible = true; + } + text: catalog.i18nc("@label", "Override"); + visible: { + if (printJob && printJob.configurationChanges) { + var length = printJob.configurationChanges.length; + for (var i = 0; i < length; i++) { + var typeOfChange = printJob.configurationChanges[i].typeOfChange; + if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { + return false; + } + } + } + return true; + } + } } } - } - // PrintCore && Material config - Row - { - id: extrudersInfo - anchors.bottom: parent.bottom - anchors - { - left: parent.left - right: parent.right - } - height: childrenRect.height - - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round(parent.width / 2) * screenScaleFactor - printCoreConfiguration: printJob.configuration.extruderConfigurations[0] - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round(parent.width / 2) * screenScaleFactor - printCoreConfiguration: printJob.configuration.extruderConfigurations[1] + MessageDialog { + id: overrideConfirmationDialog; + Component.onCompleted: visible = false; + icon: StandardIcon.Warning; + onYes: OutputDevice.forceSendJob(printJob.key); + standardButtons: StandardButton.Yes | StandardButton.No; + text: { + if (!printJob) { + return ""; + } + var printJobName = formatPrintJobName(printJob.name); + var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); + return confirmText; + } + title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); } } - - } - - Rectangle - { - color: UM.Theme.getColor("viewport_background") - width: 2 * screenScaleFactor - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.margins: UM.Theme.getSize("default_margin").height - anchors.horizontalCenter: parent.horizontalCenter } } -} \ No newline at end of file + // Utils + function formatPrintJobName(name) { + var extensions = [ ".gz", ".gcode", ".ufp" ]; + for (var i = 0; i < extensions.length; i++) { + var extension = extensions[i]; + if (name.slice(-extension.length) === extension) { + name = name.substring(0, name.length - extension.length); + } + } + return name; + } + function materialsAreKnown(job) { + var conf0 = job.configuration[0]; + if (conf0 && !conf0.material.material) { + return false; + } + var conf1 = job.configuration[1]; + if (conf1 && !conf1.material.material) { + return false; + } + return true; + } + function formatBuildPlateType(buildPlateType) { + var translationText = ""; + switch (buildPlateType) { + case "glass": + translationText = catalog.i18nc("@label", "Glass"); + break; + case "aluminum": + translationText = catalog.i18nc("@label", "Aluminum"); + break; + default: + translationText = null; + } + return translationText; + } +} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml new file mode 100644 index 0000000000..b1a73255f4 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -0,0 +1,75 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +// Includes print job name, owner, and preview + +Item { + property var job: null; + property var useUltibot: false; + height: 100 * screenScaleFactor; + width: height; + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_skeleton_fill"); + radius: UM.Theme.getSize("default_margin").width; + visible: !job; + } + + // Actual content + Image { + id: previewImage; + visible: job; + source: job ? job.previewImageUrl : ""; + opacity: { + if (job == null) { + return 1.0; + } + var states = ["wait_cleanup", "wait_user_action", "error", "paused"]; + if (states.indexOf(job.state) !== -1) { + return 0.5; + } + return 1.0; + } + anchors.fill: parent; + } + + UM.RecolorImage { + id: ultibotImage; + anchors.centerIn: parent; + color: UM.Theme.getColor("monitor_placeholder_image"); // TODO: Theme! + height: parent.height; + source: "../svg/ultibot.svg"; + sourceSize { + height: height; + width: width; + } + /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or + not in order to determine if we show the placeholder (ultibot) image instead. */ + visible: job && previewImage.status == Image.Error; + width: parent.width; + } + + UM.RecolorImage { + id: statusImage; + anchors.centerIn: parent; + color: "black"; // TODO: Theme! + height: Math.round(0.5 * parent.height); + source: job && job.state == "error" ? "../svg/aborted-icon.svg" : ""; + sourceSize { + height: height; + width: width; + } + visible: source != ""; + width: Math.round(0.5 * parent.width); + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml new file mode 100644 index 0000000000..f9f7b5ae87 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -0,0 +1,59 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Controls 2.0 +import UM 1.3 as UM + +Column { + property var job: null; + height: childrenRect.height; + spacing: Math.floor( UM.Theme.getSize("default_margin").height / 2); // TODO: Use explicit theme size + width: parent.width; + + Item { + id: jobName; + height: UM.Theme.getSize("monitor_text_line").height; + width: parent.width; + + // Skeleton loading + Rectangle { + color: UM.Theme.getColor("monitor_skeleton_fill"); + height: parent.height; + visible: !job; + width: Math.round(parent.width / 3); + } + + Label { + anchors.fill: parent; + color: UM.Theme.getColor("text"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: job && job.name ? job.name : ""; + visible: job; + } + } + + Item { + id: ownerName; + height: UM.Theme.getSize("monitor_text_line").height; + width: parent.width; + + // Skeleton loading + Rectangle { + color: UM.Theme.getColor("monitor_skeleton_fill"); + height: parent.height; + visible: !job; + width: Math.round(parent.width / 2); + } + + Label { + anchors.fill: parent; + color: UM.Theme.getColor("text") + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: job ? job.owner : ""; + visible: job; + } + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml index 9793b218fc..c2590e99a8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml @@ -4,112 +4,100 @@ import QtQuick 2.2 import QtQuick.Window 2.2 import QtQuick.Controls 1.2 - import UM 1.1 as UM -UM.Dialog -{ +UM.Dialog { id: base; - - minimumWidth: 500 * screenScaleFactor - minimumHeight: 140 * screenScaleFactor - maximumWidth: minimumWidth - maximumHeight: minimumHeight - width: minimumWidth - height: minimumHeight - - visible: true - modality: Qt.ApplicationModal - onVisibleChanged: - { - if(visible) - { - resetPrintersModel() - } - else - { - OutputDevice.cancelPrintSelection() - } - } - title: catalog.i18nc("@title:window", "Print over network") - - property var printersModel: ListModel{} - function resetPrintersModel() { - printersModel.clear() - printersModel.append({ name: "Automatic", key: ""}) - - for (var index in OutputDevice.printers) - { - printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key}) - } - } - - Column - { - id: printerSelection - anchors.fill: parent - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.rightMargin: UM.Theme.getSize("default_margin").width - height: 50 * screenScaleFactor - Label - { - id: manualPrinterSelectionLabel - anchors - { - left: parent.left - topMargin: UM.Theme.getSize("default_margin").height - right: parent.right - } - text: catalog.i18nc("@label", "Printer selection") - wrapMode: Text.Wrap - height: 20 * screenScaleFactor - } - - ComboBox - { - id: printerSelectionCombobox - model: base.printersModel - textRole: "name" - - width: parent.width - height: 40 * screenScaleFactor - Behavior on height { NumberAnimation { duration: 100 } } - } - - SystemPalette - { - id: palette - } - - UM.I18nCatalog { id: catalog; name: "cura"; } - } - + height: minimumHeight; leftButtons: [ - Button - { - text: catalog.i18nc("@action:button","Cancel") - enabled: true + Button { + enabled: true; onClicked: { base.visible = false; - printerSelectionCombobox.currentIndex = 0 - OutputDevice.cancelPrintSelection() + printerSelectionCombobox.currentIndex = 0; + OutputDevice.cancelPrintSelection(); } + text: catalog.i18nc("@action:button","Cancel"); } ] - + maximumHeight: minimumHeight; + maximumWidth: minimumWidth; + minimumHeight: 140 * screenScaleFactor; + minimumWidth: 500 * screenScaleFactor; + modality: Qt.ApplicationModal; + onVisibleChanged: { + if (visible) { + resetPrintersModel(); + } else { + OutputDevice.cancelPrintSelection(); + } + } rightButtons: [ - Button - { - text: catalog.i18nc("@action:button","Print") - enabled: true + Button { + enabled: true; onClicked: { base.visible = false; - OutputDevice.selectPrinter(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key) + OutputDevice.selectPrinter(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key); // reset to defaults - printerSelectionCombobox.currentIndex = 0 + printerSelectionCombobox.currentIndex = 0; } + text: catalog.i18nc("@action:button","Print"); } ] + title: catalog.i18nc("@title:window", "Print over network"); + visible: true; + width: minimumWidth; + + Column { + id: printerSelection; + anchors { + fill: parent; + leftMargin: UM.Theme.getSize("default_margin").width; + rightMargin: UM.Theme.getSize("default_margin").width; + top: parent.top; + topMargin: UM.Theme.getSize("default_margin").height; + } + height: 50 * screenScaleFactor; + + SystemPalette { + id: palette; + } + + UM.I18nCatalog { + id: catalog; + name: "cura"; + } + + Label { + id: manualPrinterSelectionLabel; + anchors { + left: parent.left; + right: parent.right; + topMargin: UM.Theme.getSize("default_margin").height; + } + height: 20 * screenScaleFactor; + text: catalog.i18nc("@label", "Printer selection"); + wrapMode: Text.Wrap; + } + + ComboBox { + id: printerSelectionCombobox; + Behavior on height { NumberAnimation { duration: 100 } } + height: 40 * screenScaleFactor; + model: ListModel { + id: printersModel; + } + textRole: "name"; + width: parent.width; + } + } + + // Utils + function resetPrintersModel() { + printersModel.clear(); + printersModel.append({ name: "Automatic", key: ""}); + for (var index in OutputDevice.printers) { + printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key}); + } + } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml new file mode 100644 index 0000000000..24beaf70fe --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -0,0 +1,241 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import UM 1.3 as UM + +Item { + id: root; + property var shadowRadius: UM.Theme.getSize("monitor_shadow_radius").width; + property var shadowOffset: UM.Theme.getSize("monitor_shadow_offset").width; + property var printer: null; + property var collapsed: true; + height: childrenRect.height + shadowRadius * 2; // Bubbles upward + width: parent.width; // Bubbles downward + + // The actual card (white block) + Rectangle { + // 5px margin, but shifted 2px vertically because of the shadow + anchors { + bottomMargin: root.shadowRadius + root.shadowOffset; + leftMargin: root.shadowRadius; + rightMargin: root.shadowRadius; + topMargin: root.shadowRadius - root.shadowOffset; + } + color: { + if (!printer) { + return UM.Theme.getColor("monitor_card_background_inactive"); + } + if (printer.state == "disabled") { + return UM.Theme.getColor("monitor_card_background_inactive"); + } else { + return UM.Theme.getColor("monitor_card_background"); + } + } + height: childrenRect.height; + layer.effect: DropShadow { + radius: root.shadowRadius; + verticalOffset: root.shadowOffset; + color: "#3F000000"; // 25% shadow + } + layer.enabled: true + width: parent.width - 2 * shadowRadius; + + Column { + id: cardContents; + height: childrenRect.height; + width: parent.width; + + // Main card + Item { + id: mainCard; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: 60 * screenScaleFactor + 2 * UM.Theme.getSize("default_margin").height; + width: parent.width; + + // Machine icon + Item { + id: machineIcon; + anchors.verticalCenter: parent.verticalCenter; + height: parent.height - 2 * UM.Theme.getSize("default_margin").width; + width: height; + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); + radius: UM.Theme.getSize("default_margin").width; + visible: !printer; + } + + // Content + UM.RecolorImage { + anchors.centerIn: parent; + color: { + if (printer && printer.activePrintJob != undefined) { + return UM.Theme.getColor("monitor_printer_icon"); + } + return UM.Theme.getColor("monitor_printer_icon_inactive"); + } + height: sourceSize.height; + source: { + if (!printer) { + return ""; + } + switch(printer.type) { + case "Ultimaker 3": + return "../svg/UM3-icon.svg"; + case "Ultimaker 3 Extended": + return "../svg/UM3x-icon.svg"; + case "Ultimaker S5": + return "../svg/UMs5-icon.svg"; + } + } + visible: printer; + width: sourceSize.width; + } + } + + // Printer info + Item { + id: printerInfo; + anchors { + left: machineIcon.right; + leftMargin: UM.Theme.getSize("wide_margin").width; + right: collapseIcon.left; + verticalCenter: machineIcon.verticalCenter; + } + height: childrenRect.height; + + // Machine name + Item { + id: machineNameLabel; + height: UM.Theme.getSize("monitor_text_line").height; + width: { + var percent = printer ? 0.75 : 0.3; + return Math.round(parent.width * percent); + } + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); + visible: !printer; + } + + // Actual content + Label { + anchors.fill: parent; + color: UM.Theme.getColor("text"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: printer ? printer.name : ""; + visible: printer; + width: parent.width; + } + } + + // Job name + Item { + id: activeJobLabel; + anchors { + top: machineNameLabel.bottom; + topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); + } + height: UM.Theme.getSize("monitor_text_line").height; + width: Math.round(parent.width * 0.75); + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); + visible: !printer; + } + + // Actual content + Label { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_text_inactive"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: { + if (!printer) { + return ""; + } + if (printer.state == "disabled") { + return catalog.i18nc("@label", "Not available"); + } else if (printer.state == "unreachable") { + return catalog.i18nc("@label", "Unreachable"); + } + if (printer.activePrintJob != null && printer.activePrintJob.name) { + return printer.activePrintJob.name; + } + return catalog.i18nc("@label", "Available"); + } + visible: printer; + } + } + } + + // Collapse icon + UM.RecolorImage { + id: collapseIcon; + anchors { + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + color: UM.Theme.getColor("text"); + height: 15 * screenScaleFactor; // TODO: Theme! + source: root.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom"); + sourceSize { + height: height; + width: width; + } + visible: printer; + width: 15 * screenScaleFactor; // TODO: Theme! + } + + MouseArea { + anchors.fill: parent; + enabled: printer; + onClicked: { + if (model && root.collapsed) { + printerList.currentIndex = model.index; + } else { + printerList.currentIndex = -1; + } + } + } + + Connections { + target: printerList; + onCurrentIndexChanged: { + root.collapsed = printerList.currentIndex != model.index; + } + } + } + // Detailed card + PrinterCardDetails { + collapsed: root.collapsed; + printer: root.printer; + visible: root.printer; + } + + // Progress bar + PrinterCardProgressBar { + visible: printer && printer.activePrintJob != null; + width: parent.width; + } + } + } +} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml new file mode 100644 index 0000000000..31da388b00 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -0,0 +1,75 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +Item { + id: root; + property var printer: null; + property var printJob: printer ? printer.activePrintJob : null; + property var collapsed: true; + Behavior on height { NumberAnimation { duration: 100 } } + Behavior on opacity { NumberAnimation { duration: 100 } } + height: collapsed ? 0 : childrenRect.height; + opacity: collapsed ? 0 : 1; + width: parent.width; + + Column { + id: contentColumn; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: childrenRect.height + UM.Theme.getSize("default_margin").height; + spacing: UM.Theme.getSize("default_margin").height; + width: parent.width; + + HorizontalLine {} + + PrinterInfoBlock { + printer: root.printer; + printJob: root.printer ? root.printer.activePrintJob : null; + } + + HorizontalLine {} + + Row { + height: childrenRect.height; + visible: root.printJob; + width: parent.width; + + PrintJobTitle { + job: root.printer ? root.printer.activePrintJob : null; + } + PrintJobContextMenu { + id: contextButton; + anchors { + right: parent.right; + rightMargin: UM.Theme.getSize("wide_margin").width; + } + printJob: root.printer ? root.printer.activePrintJob : null; + visible: printJob; + } + } + + PrintJobPreview { + anchors.horizontalCenter: parent.horizontalCenter; + job: root.printer && root.printer.activePrintJob ? root.printer.activePrintJob : null; + visible: root.printJob; + } + + CameraButton { + id: showCameraButton; + iconSource: "../svg/camera-icon.svg"; + visible: root.printer; + } + } +} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml new file mode 100644 index 0000000000..e86c959b8c --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -0,0 +1,108 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Controls.Styles 1.3 +import QtQuick.Controls 1.4 +import UM 1.3 as UM + +ProgressBar { + property var progress: { + if (!printer || printer.activePrintJob == null) { + return 0; + } + var result = printer.activePrintJob.timeElapsed / printer.activePrintJob.timeTotal; + if (result > 1.0) { + result = 1.0; + } + return result; + } + style: ProgressBarStyle { + property var remainingTime: { + if (!printer || printer.activePrintJob == null) { + return 0; + } + /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining + time from ever being less than 0. Negative durations cause strange behavior such + as displaying "-1h -1m". */ + return Math.max(printer.activePrintJob.timeTotal - printer.activePrintJob.timeElapsed, 0); + } + property var progressText: { + if (printer === null ) { + return ""; + } + switch (printer.activePrintJob.state) { + case "wait_cleanup": + if (printer.activePrintJob.timeTotal > printer.activePrintJob.timeElapsed) { + return catalog.i18nc("@label:status", "Aborted"); + } + return catalog.i18nc("@label:status", "Finished"); + case "pre_print": + case "sent_to_printer": + return catalog.i18nc("@label:status", "Preparing"); + case "aborted": + return catalog.i18nc("@label:status", "Aborted"); + case "wait_user_action": + return catalog.i18nc("@label:status", "Aborted"); + case "pausing": + return catalog.i18nc("@label:status", "Pausing"); + case "paused": + return OutputDevice.formatDuration( remainingTime ); + case "resuming": + return catalog.i18nc("@label:status", "Resuming"); + case "queued": + return catalog.i18nc("@label:status", "Action required"); + default: + return OutputDevice.formatDuration( remainingTime ); + } + } + background: Rectangle { + color: UM.Theme.getColor("monitor_progress_background"); + implicitHeight: visible ? 24 : 0; + implicitWidth: 100; + } + progress: Rectangle { + id: progressItem; + color: { + if (! printer || !printer.activePrintJob) { + return "black"; + } + var state = printer.activePrintJob.state + var inactiveStates = [ + "pausing", + "paused", + "resuming", + "wait_cleanup" + ]; + if (inactiveStates.indexOf(state) > -1 && remainingTime > 0) { + return UM.Theme.getColor("monitor_progress_fill_inactive"); + } else { + return UM.Theme.getColor("monitor_progress_fill"); + } + } + + Label { + id: progressLabel; + anchors { + left: parent.left; + leftMargin: getTextOffset(); + } + text: progressText; + anchors.verticalCenter: parent.verticalCenter; + color: progressItem.width + progressLabel.width < control.width ? UM.Theme.getColor("text") : UM.Theme.getColor("monitor_progress_fill_text"); + width: contentWidth; + font: UM.Theme.getFont("default"); + } + + function getTextOffset() { + if (progressItem.width + progressLabel.width + 16 < control.width) { + return progressItem.width + UM.Theme.getSize("default_margin").width; + } else { + return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width; + } + } + } + } + value: progress; + width: parent.width; +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml index b785cd02b7..0a88b053a8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml @@ -1,28 +1,32 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import UM 1.2 as UM -Item -{ - property alias color: background.color - property alias text: familyNameLabel.text - property var padding: 0 - implicitHeight: familyNameLabel.contentHeight + 2 * padding // Apply the padding to top and bottom. - implicitWidth: familyNameLabel.contentWidth + implicitHeight // The extra height is added to ensure the radius doesn't cut something off. - Rectangle - { - id: background - height: parent.height - width: parent.width - color: parent.color - anchors.right: parent.right - anchors.horizontalCenter: parent.horizontalCenter - radius: 0.5 * height +Item { + property alias text: familyNameLabel.text; + property var padding: 3 * screenScaleFactor; // TODO: Theme! + implicitHeight: familyNameLabel.contentHeight + 2 * padding; // Apply the padding to top and bottom. + implicitWidth: Math.max(48 * screenScaleFactor, familyNameLabel.contentWidth + implicitHeight); // The extra height is added to ensure the radius doesn't cut something off. + + Rectangle { + id: background; + anchors { + horizontalCenter: parent.horizontalCenter; + right: parent.right; + } + color: familyNameLabel.text.length < 1 ? UM.Theme.getColor("monitor_skeleton_fill") : UM.Theme.getColor("monitor_pill_background"); + height: parent.height; + radius: 0.5 * height; + width: parent.width; } - Label - { - id: familyNameLabel - anchors.centerIn: parent - text: "" + + Label { + id: familyNameLabel; + anchors.centerIn: parent; + color: UM.Theme.getColor("text"); + text: ""; } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml new file mode 100644 index 0000000000..92a8f1dcb3 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -0,0 +1,83 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +// Includes printer type pill and extuder configurations + +Item { + id: root; + property var printer: null; + property var printJob: null; + width: parent.width; + height: childrenRect.height; + + // Printer family pills + Row { + id: printerFamilyPills; + anchors { + left: parent.left; + right: parent.right; + } + height: childrenRect.height; + spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); + width: parent.width; + + Repeater { + id: compatiblePills; + delegate: PrinterFamilyPill { + text: modelData; + } + model: printJob ? printJob.compatibleMachineFamilies : []; + visible: printJob; + + } + + PrinterFamilyPill { + text: printer ? printer.type : ""; + visible: !compatiblePills.visible && printer; + } + } + + // Extruder info + Row { + id: extrudersInfo; + anchors { + left: parent.left; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + top: printerFamilyPills.bottom; + topMargin: UM.Theme.getSize("default_margin").height; + } + height: childrenRect.height; + spacing: UM.Theme.getSize("default_margin").width; + width: parent.width; + + PrintCoreConfiguration { + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: getExtruderConfig(0); + } + + PrintCoreConfiguration { + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: getExtruderConfig(1); + } + } + + function getExtruderConfig( i ) { + if (root.printJob) { + // Use more-specific print job if possible + return root.printJob.configuration.extruderConfigurations[i]; + } + if (root.printer) { + return root.printer.printerConfiguration.extruderConfigurations[i]; + } + return null; + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index d0213a4571..77b481f6d8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -1,84 +1,65 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 - import UM 1.3 as UM +import Cura 1.0 as Cura +Item { + property var cameraUrl: ""; -Item -{ - property var camera: null - - Rectangle - { - anchors.fill:parent - color: UM.Theme.getColor("viewport_overlay") - opacity: 0.5 + Rectangle { + anchors.fill:parent; + color: UM.Theme.getColor("viewport_overlay"); + opacity: 0.5; } - MouseArea - { - anchors.fill: parent - onClicked: OutputDevice.setActiveCamera(null) - z: 0 + MouseArea { + anchors.fill: parent; + onClicked: OutputDevice.setActiveCameraUrl(""); + z: 0; } - CameraButton - { - id: closeCameraButton - iconSource: UM.Theme.getIcon("cross1") - anchors - { - top: cameraImage.top - topMargin: UM.Theme.getSize("default_margin").height + CameraButton { + id: closeCameraButton; + anchors { right: cameraImage.right rightMargin: UM.Theme.getSize("default_margin").width + top: cameraImage.top + topMargin: UM.Theme.getSize("default_margin").height } - z: 999 + iconSource: UM.Theme.getIcon("cross1"); + z: 999; } - Image - { + Cura.NetworkMJPGImage { id: cameraImage - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) - height: Math.round((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width) - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter; + anchors.verticalCenter: parent.verticalCenter; + height: Math.round((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); + onVisibleChanged: { + if (visible) { + if (cameraUrl != "") { + start(); + } + } else { + if (cameraUrl != "") { + stop(); + } + } + } + source: cameraUrl + width: Math.min(imageWidth === 0 ? 800 * screenScaleFactor : imageWidth, maximumWidth); z: 1 - onVisibleChanged: - { - if(visible) - { - if(camera != null) - { - camera.start() - } - } else - { - if(camera != null) - { - camera.stop() - } - } - } - - source: - { - if(camera != null && camera.latestImage != null) - { - return camera.latestImage; - } - return ""; - } } - MouseArea - { - anchors.fill: cameraImage - onClicked: - { - OutputDevice.setActiveCamera(null) + MouseArea { + anchors.fill: cameraImage; + onClicked: { + OutputDevice.setActiveCameraUrl(""); } - z: 1 + z: 1; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml index a19d1be60d..105143c851 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml @@ -1,125 +1,126 @@ -import UM 1.2 as UM -import Cura 1.0 as Cura +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Layouts 1.1 import QtQuick.Window 2.1 +import UM 1.2 as UM +import Cura 1.0 as Cura -Item -{ - id: base +Item { + id: base; + property string activeQualityDefinitionId: Cura.MachineManager.activeQualityDefinitionId; + property bool isUM3: activeQualityDefinitionId == "ultimaker3" || activeQualityDefinitionId.match("ultimaker_") != null; + property bool printerConnected: Cura.MachineManager.printerConnected; + property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands; + property bool authenticationRequested: printerConnected && (Cura.MachineManager.printerOutputDevices[0].authenticationState == 2 || Cura.MachineManager.printerOutputDevices[0].authenticationState == 5); // AuthState.AuthenticationRequested or AuthenticationReceived. - property string activeQualityDefinitionId: Cura.MachineManager.activeQualityDefinitionId - property bool isUM3: activeQualityDefinitionId == "ultimaker3" || activeQualityDefinitionId.match("ultimaker_") != null - property bool printerConnected: Cura.MachineManager.printerConnected - property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands - property bool authenticationRequested: printerConnected && (Cura.MachineManager.printerOutputDevices[0].authenticationState == 2 || Cura.MachineManager.printerOutputDevices[0].authenticationState == 5) // AuthState.AuthenticationRequested or AuthenticationReceived. + UM.I18nCatalog { + id: catalog; + name: "cura"; + } - Row - { - objectName: "networkPrinterConnectButton" - visible: isUM3 - spacing: UM.Theme.getSize("default_margin").width + Row { + objectName: "networkPrinterConnectButton"; + spacing: UM.Theme.getSize("default_margin").width; + visible: isUM3; - Button - { - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer") - text: catalog.i18nc("@action:button", "Request Access") - style: UM.Theme.styles.sidebar_action_button - onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication() - visible: printerConnected && !printerAcceptsCommands && !authenticationRequested + Button { + height: UM.Theme.getSize("save_button_save_to_button").height; + onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication(); + style: UM.Theme.styles.sidebar_action_button; + text: catalog.i18nc("@action:button", "Request Access"); + tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer"); + visible: printerConnected && !printerAcceptsCommands && !authenticationRequested; } - Button - { - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Connect to a printer") - text: catalog.i18nc("@action:button", "Connect") - style: UM.Theme.styles.sidebar_action_button - onClicked: connectActionDialog.show() - visible: !printerConnected + Button { + height: UM.Theme.getSize("save_button_save_to_button").height; + onClicked: connectActionDialog.show(); + style: UM.Theme.styles.sidebar_action_button; + text: catalog.i18nc("@action:button", "Connect"); + tooltip: catalog.i18nc("@info:tooltip", "Connect to a printer"); + visible: !printerConnected; } } - UM.Dialog - { - id: connectActionDialog - Loader - { - anchors.fill: parent - source: "DiscoverUM3Action.qml" + UM.Dialog { + id: connectActionDialog; + rightButtons: Button { + iconName: "dialog-close"; + onClicked: connectActionDialog.reject(); + text: catalog.i18nc("@action:button", "Close"); } - rightButtons: Button - { - text: catalog.i18nc("@action:button", "Close") - iconName: "dialog-close" - onClicked: connectActionDialog.reject() + + Loader { + anchors.fill: parent; + source: "DiscoverUM3Action.qml"; } } + Column { + anchors.fill: parent; + objectName: "networkPrinterConnectionInfo"; + spacing: UM.Theme.getSize("default_margin").width; + visible: isUM3; - Column - { - objectName: "networkPrinterConnectionInfo" - visible: isUM3 - spacing: UM.Theme.getSize("default_margin").width - anchors.fill: parent - - Button - { - tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer") - text: catalog.i18nc("@action:button", "Request Access") - onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication() - visible: printerConnected && !printerAcceptsCommands && !authenticationRequested + Button { + onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication(); + text: catalog.i18nc("@action:button", "Request Access"); + tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer"); + visible: printerConnected && !printerAcceptsCommands && !authenticationRequested; } - Row - { - visible: printerConnected - spacing: UM.Theme.getSize("default_margin").width + Row { + anchors { + left: parent.left; + right: parent.right; + } + height: childrenRect.height; + spacing: UM.Theme.getSize("default_margin").width; + visible: printerConnected; - anchors.left: parent.left - anchors.right: parent.right - height: childrenRect.height + Column { + Repeater { + model: Cura.ExtrudersModel { + simpleNames: true; + } - Column - { - Repeater - { - model: Cura.ExtrudersModel { simpleNames: true } - Label { text: model.name } + Label { + text: model.name; + } } } - Column - { - Repeater - { - id: nozzleColumn - model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].hotendIds : null - Label { text: nozzleColumn.model[index] } + + Column { + Repeater { + id: nozzleColumn; + model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].hotendIds : null; + + Label { + text: nozzleColumn.model[index]; + } } } - Column - { - Repeater - { - id: materialColumn - model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].materialNames : null - Label { text: materialColumn.model[index] } + + Column { + Repeater { + id: materialColumn; + model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].materialNames : null; + + Label { + text: materialColumn.model[index]; + } } } } - Button - { - tooltip: catalog.i18nc("@info:tooltip", "Load the configuration of the printer into Cura") - text: catalog.i18nc("@action:button", "Activate Configuration") - visible: false // printerConnected && !isClusterPrinter() - onClicked: manager.loadConfigurationFromPrinter() + Button { + onClicked: manager.loadConfigurationFromPrinter(); + text: catalog.i18nc("@action:button", "Activate Configuration"); + tooltip: catalog.i18nc("@info:tooltip", "Load the configuration of the printer into Cura"); + visible: false; // printerConnected && !isClusterPrinter() } } - - UM.I18nCatalog{id: catalog; name:"cura"} } diff --git a/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg b/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg new file mode 100644 index 0000000000..be6ca64723 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg index 1e5359a5eb..064d0783e0 100644 --- a/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg +++ b/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg @@ -1 +1,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 409ca7a84a..7504d55ad9 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -21,12 +21,12 @@ from cura.PrinterOutput.ConfigurationModel import ConfigurationModel from cura.PrinterOutput.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel -from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel -from cura.PrinterOutput.NetworkCamera import NetworkCamera from .ClusterUM3PrinterOutputController import ClusterUM3PrinterOutputController from .SendMaterialJob import SendMaterialJob +from .ConfigurationChangeModel import ConfigurationChangeModel +from .UM3PrintJobOutputModel import UM3PrintJobOutputModel from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply from PyQt5.QtGui import QDesktopServices, QImage @@ -46,7 +46,8 @@ i18n_catalog = i18nCatalog("cura") class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printJobsChanged = pyqtSignal() activePrinterChanged = pyqtSignal() - activeCameraChanged = pyqtSignal() + activeCameraUrlChanged = pyqtSignal() + receivedPrintJobsChanged = pyqtSignal() # This is a bit of a hack, as the notify can only use signals that are defined by the class that they are in. # Inheritance doesn't seem to work. Tying them together does work, but i'm open for better suggestions. @@ -60,7 +61,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._dummy_lambdas = ("", {}, io.BytesIO()) #type: Tuple[str, Dict, Union[io.StringIO, io.BytesIO]] - self._print_jobs = [] # type: List[PrintJobOutputModel] + self._print_jobs = [] # type: List[UM3PrintJobOutputModel] + self._received_print_jobs = False # type: bool self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterMonitorItem.qml") self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterControlItem.qml") @@ -90,14 +92,14 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._printer_uuid_to_unique_name_mapping = {} # type: Dict[str, str] - self._finished_jobs = [] # type: List[PrintJobOutputModel] + self._finished_jobs = [] # type: List[UM3PrintJobOutputModel] self._cluster_size = int(properties.get(b"cluster_size", 0)) # type: int self._latest_reply_handler = None # type: Optional[QNetworkReply] self._sending_job = None - self._active_camera = None # type: Optional[NetworkCamera] + self._active_camera_url = QUrl() # type: QUrl def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: self.writeStarted.emit(self) @@ -261,30 +263,21 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def activePrinter(self) -> Optional[PrinterOutputModel]: return self._active_printer - @pyqtProperty(QObject, notify=activeCameraChanged) - def activeCamera(self) -> Optional[NetworkCamera]: - return self._active_camera - @pyqtSlot(QObject) def setActivePrinter(self, printer: Optional[PrinterOutputModel]) -> None: if self._active_printer != printer: - if self._active_printer and self._active_printer.camera: - self._active_printer.camera.stop() self._active_printer = printer self.activePrinterChanged.emit() - @pyqtSlot(QObject) - def setActiveCamera(self, camera: Optional[NetworkCamera]) -> None: - if self._active_camera != camera: - if self._active_camera: - self._active_camera.stop() + @pyqtProperty(QUrl, notify = activeCameraUrlChanged) + def activeCameraUrl(self) -> "QUrl": + return self._active_camera_url - self._active_camera = camera - - if self._active_camera: - self._active_camera.start() - - self.activeCameraChanged.emit() + @pyqtSlot(QUrl) + def setActiveCameraUrl(self, camera_url: "QUrl") -> None: + if self._active_camera_url != camera_url: + self._active_camera_url = camera_url + self.activeCameraUrlChanged.emit() def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None: if self._progress_message: @@ -349,15 +342,19 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): QDesktopServices.openUrl(QUrl("http://" + self._address + "/printers")) @pyqtProperty("QVariantList", notify = printJobsChanged) - def printJobs(self)-> List[PrintJobOutputModel]: + def printJobs(self)-> List[UM3PrintJobOutputModel]: return self._print_jobs + @pyqtProperty(bool, notify = receivedPrintJobsChanged) + def receivedPrintJobs(self) -> bool: + return self._received_print_jobs + @pyqtProperty("QVariantList", notify = printJobsChanged) - def queuedPrintJobs(self) -> List[PrintJobOutputModel]: + def queuedPrintJobs(self) -> List[UM3PrintJobOutputModel]: return [print_job for print_job in self._print_jobs if print_job.state == "queued" or print_job.state == "error"] @pyqtProperty("QVariantList", notify = printJobsChanged) - def activePrintJobs(self) -> List[PrintJobOutputModel]: + def activePrintJobs(self) -> List[UM3PrintJobOutputModel]: return [print_job for print_job in self._print_jobs if print_job.assignedPrinter is not None and print_job.state != "queued"] @pyqtProperty("QVariantList", notify = clusterPrintersChanged) @@ -406,6 +403,11 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): # is a modification of the cluster queue and not of the actual job. self.delete("print_jobs/{uuid}".format(uuid = print_job_uuid), on_finished=None) + @pyqtSlot(str) + def forceSendJob(self, print_job_uuid: str) -> None: + data = "{\"force\": true}" + self.put("print_jobs/{uuid}".format(uuid=print_job_uuid), data, on_finished=None) + def _printJobStateChanged(self) -> None: username = self._getUserName() @@ -455,6 +457,9 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self.get("print_jobs/{uuid}/preview_image".format(uuid=print_job.key), on_finished=self._onGetPreviewImageFinished) def _onGetPrintJobsFinished(self, reply: QNetworkReply) -> None: + self._received_print_jobs = True + self.receivedPrintJobsChanged.emit() + if not checkValidGetReply(reply): return @@ -533,12 +538,12 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _createPrinterModel(self, data: Dict[str, Any]) -> PrinterOutputModel: printer = PrinterOutputModel(output_controller = ClusterUM3PrinterOutputController(self), number_of_extruders = self._number_of_extruders) - printer.setCamera(NetworkCamera("http://" + data["ip_address"] + ":8080/?action=stream")) + printer.setCameraUrl(QUrl("http://" + data["ip_address"] + ":8080/?action=stream")) self._printers.append(printer) return printer - def _createPrintJobModel(self, data: Dict[str, Any]) -> PrintJobOutputModel: - print_job = PrintJobOutputModel(output_controller=ClusterUM3PrinterOutputController(self), + def _createPrintJobModel(self, data: Dict[str, Any]) -> UM3PrintJobOutputModel: + print_job = UM3PrintJobOutputModel(output_controller=ClusterUM3PrinterOutputController(self), key=data["uuid"], name= data["name"]) configuration = ConfigurationModel() @@ -558,7 +563,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): print_job.stateChanged.connect(self._printJobStateChanged) return print_job - def _updatePrintJob(self, print_job: PrintJobOutputModel, data: Dict[str, Any]) -> None: + def _updatePrintJob(self, print_job: UM3PrintJobOutputModel, data: Dict[str, Any]) -> None: print_job.updateTimeTotal(data["time_total"]) print_job.updateTimeElapsed(data["time_elapsed"]) impediments_to_printing = data.get("impediments_to_printing", []) @@ -574,6 +579,16 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): if not status_set_by_impediment: print_job.updateState(data["status"]) + print_job.updateConfigurationChanges(self._createConfigurationChanges(data["configuration_changes_required"])) + + def _createConfigurationChanges(self, data: List[Dict[str, Any]]) -> List[ConfigurationChangeModel]: + result = [] + for change in data: + result.append(ConfigurationChangeModel(type_of_change=change["type_of_change"], + index=change["index"], + target_name=change["target_name"], + origin_name=change["origin_name"])) + return result def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", GUID=material_data["guid"]) @@ -631,7 +646,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): material = self._createMaterialOutputModel(material_data) extruder.updateActiveMaterial(material) - def _removeJob(self, job: PrintJobOutputModel) -> bool: + def _removeJob(self, job: UM3PrintJobOutputModel) -> bool: if job not in self._print_jobs: return False @@ -675,7 +690,7 @@ def checkValidGetReply(reply: QNetworkReply) -> bool: return True -def findByKey(lst: List[Union[PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[PrintJobOutputModel]: +def findByKey(lst: List[Union[UM3PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[UM3PrintJobOutputModel]: for item in lst: if item.key == key: return item diff --git a/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py b/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py new file mode 100644 index 0000000000..ef8a212b76 --- /dev/null +++ b/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py @@ -0,0 +1,29 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot + +class ConfigurationChangeModel(QObject): + def __init__(self, type_of_change: str, index: int, target_name: str, origin_name: str) -> None: + super().__init__() + self._type_of_change = type_of_change + # enum = ["material", "print_core_change"] + self._index = index + self._target_name = target_name + self._origin_name = origin_name + + @pyqtProperty(int, constant = True) + def index(self) -> int: + return self._index + + @pyqtProperty(str, constant = True) + def typeOfChange(self) -> str: + return self._type_of_change + + @pyqtProperty(str, constant = True) + def targetName(self) -> str: + return self._target_name + + @pyqtProperty(str, constant = True) + def originName(self) -> str: + return self._origin_name diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index fe94500aa1..18af22e72f 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -7,7 +7,6 @@ from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutp from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel -from cura.PrinterOutput.NetworkCamera import NetworkCamera from cura.Settings.ContainerManager import ContainerManager from cura.Settings.ExtruderManager import ExtruderManager @@ -18,7 +17,7 @@ from UM.i18n import i18nCatalog from UM.Message import Message from PyQt5.QtNetwork import QNetworkRequest -from PyQt5.QtCore import QTimer +from PyQt5.QtCore import QTimer, QUrl from PyQt5.QtWidgets import QMessageBox from .LegacyUM3PrinterOutputController import LegacyUM3PrinterOutputController @@ -100,8 +99,7 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): title=i18n_catalog.i18nc("@info:title", "Authentication status")) - self._authentication_failed_message = Message(i18n_catalog.i18nc("@info:status", ""), - title=i18n_catalog.i18nc("@info:title", "Authentication Status")) + self._authentication_failed_message = Message("", title=i18n_catalog.i18nc("@info:title", "Authentication Status")) self._authentication_failed_message.addAction("Retry", i18n_catalog.i18nc("@action:button", "Retry"), None, i18n_catalog.i18nc("@info:tooltip", "Re-send the access request")) self._authentication_failed_message.actionTriggered.connect(self._messageCallback) @@ -500,8 +498,8 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): self._authentication_id = None self.post("auth/request", - json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), - "user": self._getUserName()}).encode(), + json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), + "user": self._getUserName()}), on_finished=self._onRequestAuthenticationFinished) self.setAuthenticationState(AuthState.AuthenticationRequested) @@ -569,7 +567,7 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): # Quickest way to get the firmware version is to grab it from the zeroconf. firmware_version = self._properties.get(b"firmware_version", b"").decode("utf-8") self._printers = [PrinterOutputModel(output_controller=self._output_controller, number_of_extruders=self._number_of_extruders, firmware_version=firmware_version)] - self._printers[0].setCamera(NetworkCamera("http://" + self._address + ":8080/?action=stream")) + self._printers[0].setCameraUrl(QUrl("http://" + self._address + ":8080/?action=stream")) for extruder in self._printers[0].extruders: extruder.activeMaterialChanged.connect(self.materialIdChanged) extruder.hotendIDChanged.connect(self.hotendIdChanged) diff --git a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py index f4749a6747..9c070f2de2 100644 --- a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py +++ b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py @@ -260,6 +260,19 @@ class UM3OutputDevicePlugin(OutputDevicePlugin): # or "Legacy" UM3 device. cluster_size = int(properties.get(b"cluster_size", -1)) + printer_type = properties.get(b"machine", b"").decode("utf-8") + printer_type_identifiers = { + "9066": "ultimaker3", + "9511": "ultimaker3_extended", + "9051": "ultimaker_s5" + } + + for key, value in printer_type_identifiers.items(): + if printer_type.startswith(key): + properties[b"printer_type"] = bytes(value, encoding="utf8") + break + else: + properties[b"printer_type"] = b"Unknown" if cluster_size >= 0: device = ClusterUM3OutputDevice.ClusterUM3OutputDevice(name, address, properties) else: diff --git a/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py new file mode 100644 index 0000000000..2ac3e6ba4f --- /dev/null +++ b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py @@ -0,0 +1,29 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot +from typing import Optional, TYPE_CHECKING, List +from PyQt5.QtCore import QUrl +from PyQt5.QtGui import QImage + +from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel + +from .ConfigurationChangeModel import ConfigurationChangeModel + + +class UM3PrintJobOutputModel(PrintJobOutputModel): + configurationChangesChanged = pyqtSignal() + + def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: + super().__init__(output_controller, key, name, parent) + self._configuration_changes = [] # type: List[ConfigurationChangeModel] + + @pyqtProperty("QVariantList", notify=configurationChangesChanged) + def configurationChanges(self) -> List[ConfigurationChangeModel]: + return self._configuration_changes + + def updateConfigurationChanges(self, changes: List[ConfigurationChangeModel]) -> None: + if len(self._configuration_changes) == 0 and len(changes) == 0: + return + self._configuration_changes = changes + self.configurationChangesChanged.emit() diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py new file mode 100644 index 0000000000..56e3f99c23 --- /dev/null +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -0,0 +1,68 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from UM.Logger import Logger + +from cura.CuraApplication import CuraApplication +from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState + +from .avr_isp import stk500v2, intelHex +from serial import SerialException + +from time import sleep + +MYPY = False +if MYPY: + from cura.PrinterOutputDevice import PrinterOutputDevice + + +class AvrFirmwareUpdater(FirmwareUpdater): + def __init__(self, output_device: "PrinterOutputDevice") -> None: + super().__init__(output_device) + + def _updateFirmware(self) -> None: + try: + hex_file = intelHex.readHex(self._firmware_file) + assert len(hex_file) > 0 + except (FileNotFoundError, AssertionError): + Logger.log("e", "Unable to read provided hex file. Could not update firmware.") + self._setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) + return + + programmer = stk500v2.Stk500v2() + programmer.progress_callback = self._onFirmwareProgress + + # Ensure that other connections are closed. + if self._output_device.isConnected(): + self._output_device.close() + + try: + programmer.connect(self._output_device._serial_port) + except: + programmer.close() + Logger.logException("e", "Failed to update firmware") + self._setFirmwareUpdateState(FirmwareUpdateState.communication_error) + return + + # Give programmer some time to connect. Might need more in some cases, but this worked in all tested cases. + sleep(1) + if not programmer.isConnected(): + Logger.log("e", "Unable to connect with serial. Could not update firmware") + self._setFirmwareUpdateState(FirmwareUpdateState.communication_error) + try: + programmer.programChip(hex_file) + except SerialException as e: + Logger.log("e", "A serial port exception occured during firmware update: %s" % e) + self._setFirmwareUpdateState(FirmwareUpdateState.io_error) + return + except Exception as e: + Logger.log("e", "An unknown exception occured during firmware update: %s" % e) + self._setFirmwareUpdateState(FirmwareUpdateState.unknown_error) + return + + programmer.close() + + # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. + CuraApplication.getInstance().callLater(self._output_device.connect) + + self._cleanupAfterUpdate() diff --git a/plugins/USBPrinting/FirmwareUpdateWindow.qml b/plugins/USBPrinting/FirmwareUpdateWindow.qml deleted file mode 100644 index e0f9de314e..0000000000 --- a/plugins/USBPrinting/FirmwareUpdateWindow.qml +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Window 2.2 -import QtQuick.Controls 1.2 - -import UM 1.1 as UM - -UM.Dialog -{ - id: base; - - width: minimumWidth; - minimumWidth: 500 * screenScaleFactor; - height: minimumHeight; - minimumHeight: 100 * screenScaleFactor; - - visible: true; - modality: Qt.ApplicationModal; - - title: catalog.i18nc("@title:window","Firmware Update"); - - Column - { - anchors.fill: parent; - - Label - { - anchors - { - left: parent.left; - right: parent.right; - } - - text: { - switch (manager.firmwareUpdateState) - { - case 0: - return "" //Not doing anything (eg; idling) - case 1: - return catalog.i18nc("@label","Updating firmware.") - case 2: - return catalog.i18nc("@label","Firmware update completed.") - case 3: - return catalog.i18nc("@label","Firmware update failed due to an unknown error.") - case 4: - return catalog.i18nc("@label","Firmware update failed due to an communication error.") - case 5: - return catalog.i18nc("@label","Firmware update failed due to an input/output error.") - case 6: - return catalog.i18nc("@label","Firmware update failed due to missing firmware.") - } - } - - wrapMode: Text.Wrap; - } - - ProgressBar - { - id: prog - value: manager.firmwareProgress - minimumValue: 0 - maximumValue: 100 - indeterminate: manager.firmwareProgress < 1 && manager.firmwareProgress > 0 - anchors - { - left: parent.left; - right: parent.right; - } - } - - SystemPalette - { - id: palette; - } - - UM.I18nCatalog { id: catalog; name: "cura"; } - } - - rightButtons: [ - Button - { - text: catalog.i18nc("@action:button","Close"); - enabled: manager.firmwareUpdateCompleteStatus; - onClicked: base.visible = false; - } - ] -} diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 4ceda52875..e1c39ff8fa 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -4,7 +4,6 @@ from UM.Logger import Logger from UM.i18n import i18nCatalog from UM.Qt.Duration import DurationFormat -from UM.PluginRegistry import PluginRegistry from cura.CuraApplication import CuraApplication from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState @@ -13,28 +12,21 @@ from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob -from .avr_isp import stk500v2, intelHex - -from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty, QUrl +from .AvrFirmwareUpdater import AvrFirmwareUpdater from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event -from time import time, sleep +from time import time from queue import Queue -from enum import IntEnum from typing import Union, Optional, List, cast import re import functools # Used for reduce -import os catalog = i18nCatalog("cura") class USBPrinterOutputDevice(PrinterOutputDevice): - firmwareProgressChanged = pyqtSignal() - firmwareUpdateStateChanged = pyqtSignal() - def __init__(self, serial_port: str, baud_rate: Optional[int] = None) -> None: super().__init__(serial_port) self.setName(catalog.i18nc("@item:inmenu", "USB printing")) @@ -59,9 +51,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._all_baud_rates = [115200, 250000, 230400, 57600, 38400, 19200, 9600] # Instead of using a timer, we really need the update to be as a thread, as reading from serial can block. - self._update_thread = Thread(target=self._update, daemon = True) - - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) + self._update_thread = Thread(target = self._update, daemon = True) self._last_temperature_request = None # type: Optional[int] @@ -74,11 +64,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._accepts_commands = True self._paused = False - - self._firmware_view = None - self._firmware_location = None - self._firmware_progress = 0 - self._firmware_update_state = FirmwareUpdateState.idle + self._printer_busy = False # when printer is preheating and waiting (M190/M109), or when waiting for action on the printer self.setConnectionText(catalog.i18nc("@info:status", "Connected via USB")) @@ -88,6 +74,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._command_received = Event() self._command_received.set() + self._firmware_name_requested = False + self._firmware_updater = AvrFirmwareUpdater(self) + CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit) # This is a callback function that checks if there is any printing in progress via USB when the application tries @@ -109,7 +98,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): ## Reset USB device settings # - def resetDeviceSettings(self): + def resetDeviceSettings(self) -> None: self._firmware_name = None ## Request the current scene to be sent to a USB-connected printer. @@ -135,93 +124,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._printGCode(gcode_list) - ## Show firmware interface. - # This will create the view if its not already created. - def showFirmwareInterface(self): - if self._firmware_view is None: - path = os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml") - self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - - self._firmware_view.show() - - @pyqtSlot(str) - def updateFirmware(self, file): - # the file path could be url-encoded. - if file.startswith("file://"): - self._firmware_location = QUrl(file).toLocalFile() - else: - self._firmware_location = file - self.showFirmwareInterface() - self.setFirmwareUpdateState(FirmwareUpdateState.updating) - self._update_firmware_thread.start() - - def _updateFirmware(self): - # Ensure that other connections are closed. - if self._connection_state != ConnectionState.closed: - self.close() - - try: - hex_file = intelHex.readHex(self._firmware_location) - assert len(hex_file) > 0 - except (FileNotFoundError, AssertionError): - Logger.log("e", "Unable to read provided hex file. Could not update firmware.") - self.setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) - return - - programmer = stk500v2.Stk500v2() - programmer.progress_callback = self._onFirmwareProgress - - try: - programmer.connect(self._serial_port) - except: - programmer.close() - Logger.logException("e", "Failed to update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) - return - - # Give programmer some time to connect. Might need more in some cases, but this worked in all tested cases. - sleep(1) - if not programmer.isConnected(): - Logger.log("e", "Unable to connect with serial. Could not update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) - try: - programmer.programChip(hex_file) - except SerialException: - self.setFirmwareUpdateState(FirmwareUpdateState.io_error) - return - except: - self.setFirmwareUpdateState(FirmwareUpdateState.unknown_error) - return - - programmer.close() - - # Clean up for next attempt. - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_location = "" - self._onFirmwareProgress(100) - self.setFirmwareUpdateState(FirmwareUpdateState.completed) - - # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. - CuraApplication.getInstance().callLater(self.connect) - - @pyqtProperty(float, notify = firmwareProgressChanged) - def firmwareProgress(self): - return self._firmware_progress - - @pyqtProperty(int, notify=firmwareUpdateStateChanged) - def firmwareUpdateState(self): - return self._firmware_update_state - - def setFirmwareUpdateState(self, state): - if self._firmware_update_state != state: - self._firmware_update_state = state - self.firmwareUpdateStateChanged.emit() - - # Callback function for firmware update progress. - def _onFirmwareProgress(self, progress, max_progress = 100): - self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 - self.firmwareProgressChanged.emit() - ## Start a print based on a g-code. # \param gcode_list List with gcode (strings). def _printGCode(self, gcode_list: List[str]): @@ -258,7 +160,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._baud_rate = baud_rate def connect(self): - self._firmware_name = None # after each connection ensure that the firmware name is removed + self._firmware_name = None # after each connection ensure that the firmware name is removed if self._baud_rate is None: if self._use_auto_detect: @@ -272,13 +174,19 @@ class USBPrinterOutputDevice(PrinterOutputDevice): except SerialException: Logger.log("w", "An exception occured while trying to create serial connection") return + CuraApplication.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged) + self._onGlobalContainerStackChanged() + self.setConnectionState(ConnectionState.connected) + self._update_thread.start() + + def _onGlobalContainerStackChanged(self): container_stack = CuraApplication.getInstance().getGlobalContainerStack() num_extruders = container_stack.getProperty("machine_extruder_count", "value") # Ensure that a printer is created. - self._printers = [PrinterOutputModel(output_controller=GenericOutputController(self), number_of_extruders=num_extruders)] + controller = GenericOutputController(self) + controller.setCanUpdateFirmware(True) + self._printers = [PrinterOutputModel(output_controller = controller, number_of_extruders = num_extruders)] self._printers[0].updateName(container_stack.getName()) - self.setConnectionState(ConnectionState.connected) - self._update_thread.start() def close(self): super().close() @@ -295,6 +203,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._command_queue.put(command) else: self._sendCommand(command) + def _sendCommand(self, command: Union[str, bytes]): if self._serial is None or self._connection_state != ConnectionState.connected: return @@ -316,18 +225,21 @@ class USBPrinterOutputDevice(PrinterOutputDevice): except: continue + if not self._firmware_name_requested: + self._firmware_name_requested = True + self.sendCommand("M115") + + if b"FIRMWARE_NAME:" in line: + self._setFirmwareName(line) + if self._last_temperature_request is None or time() > self._last_temperature_request + self._timeout: # Timeout, or no request has been sent at all. - self._command_received.set() # We haven't really received the ok, but we need to send a new command + if not self._printer_busy: # Don't flood the printer with temperature requests while it is busy + self.sendCommand("M105") + self._last_temperature_request = time() - self.sendCommand("M105") - self._last_temperature_request = time() - - if self._firmware_name is None: - self.sendCommand("M115") - - if (b"ok " in line and b"T:" in line) or line.startswith(b"T:") or b"ok B:" in line or line.startswith(b"B:"): # Temperature message. 'T:' for extruder and 'B:' for bed - extruder_temperature_matches = re.findall(b"T(\d*): ?([\d\.]+) ?\/?([\d\.]+)?", line) + if re.search(b"[B|T\d*]: ?\d+\.?\d*", line): # Temperature message. 'T:' for extruder and 'B:' for bed + extruder_temperature_matches = re.findall(b"T(\d*): ?(\d+\.?\d*) ?\/?(\d+\.?\d*)?", line) # Update all temperature values matched_extruder_nrs = [] for match in extruder_temperature_matches: @@ -349,7 +261,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if match[2]: extruder.updateTargetHotendTemperature(float(match[2])) - bed_temperature_matches = re.findall(b"B: ?([\d\.]+) ?\/?([\d\.]+)?", line) + bed_temperature_matches = re.findall(b"B: ?(\d+\.?\d*) ?\/?(\d+\.?\d*) ?", line) if bed_temperature_matches: match = bed_temperature_matches[0] if match[0]: @@ -357,29 +269,39 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if match[1]: self._printers[0].updateTargetBedTemperature(float(match[1])) - if b"FIRMWARE_NAME:" in line: - self._setFirmwareName(line) + if line == b"": + # An empty line means that the firmware is idle + # Multiple empty lines probably means that the firmware and Cura are waiting + # for eachother due to a missed "ok", so we keep track of empty lines + self._firmware_idle_count += 1 + else: + self._firmware_idle_count = 0 + + if line.startswith(b"ok") or self._firmware_idle_count > 1: + self._printer_busy = False - if b"ok" in line: self._command_received.set() if not self._command_queue.empty(): self._sendCommand(self._command_queue.get()) - if self._is_printing: + elif self._is_printing: if self._paused: pass # Nothing to do! else: self._sendNextGcodeLine() + if line.startswith(b"echo:busy:"): + self._printer_busy = True + if self._is_printing: if line.startswith(b'!!'): Logger.log('e', "Printer signals fatal error. Cancelling print. {}".format(line)) self.cancelPrint() - elif b"resend" in line.lower() or b"rs" in line: + elif line.lower().startswith(b"resend") or line.startswith(b"rs"): # A resend can be requested either by Resend, resend or rs. try: self._gcode_position = int(line.replace(b"N:", b" ").replace(b"N", b" ").replace(b":", b" ").split()[-1]) except: - if b"rs" in line: + if line.startswith(b"rs"): # In some cases of the RS command it needs to be handled differently. self._gcode_position = int(line.split()[1]) @@ -445,7 +367,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): elapsed_time = int(time() - self._print_start_time) print_job = self._printers[0].activePrintJob if print_job is None: - print_job = PrintJobOutputModel(output_controller = GenericOutputController(self), name= CuraApplication.getInstance().getPrintInformation().jobName) + controller = GenericOutputController(self) + controller.setCanUpdateFirmware(True) + print_job = PrintJobOutputModel(output_controller=controller, name=CuraApplication.getInstance().getPrintInformation().jobName) print_job.updateState("printing") self._printers[0].updateActivePrintJob(print_job) @@ -456,13 +380,3 @@ class USBPrinterOutputDevice(PrinterOutputDevice): print_job.updateTimeTotal(estimated_time) self._gcode_position += 1 - - -class FirmwareUpdateState(IntEnum): - idle = 0 - updating = 1 - completed = 2 - unknown_error = 3 - communication_error = 4 - io_error = 5 - firmware_not_found_error = 6 diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index 464f3093a5..bd207d9d96 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -2,14 +2,12 @@ # Cura is released under the terms of the LGPLv3 or higher. import threading -import platform import time import serial.tools.list_ports from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal from UM.Logger import Logger -from UM.Resources import Resources from UM.Signal import Signal, signalemitter from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin from UM.i18n import i18nCatalog @@ -87,66 +85,6 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin): self._addRemovePorts(port_list) time.sleep(5) - @pyqtSlot(result = str) - def getDefaultFirmwareName(self): - # Check if there is a valid global container stack - global_container_stack = self._application.getGlobalContainerStack() - if not global_container_stack: - Logger.log("e", "There is no global container stack. Can not update firmware.") - self._firmware_view.close() - return "" - - # The bottom of the containerstack is the machine definition - machine_id = global_container_stack.getBottom().id - - machine_has_heated_bed = global_container_stack.getProperty("machine_heated_bed", "value") - - if platform.system() == "Linux": - baudrate = 115200 - else: - baudrate = 250000 - - # NOTE: The keyword used here is the id of the machine. You can find the id of your machine in the *.json file, eg. - # https://github.com/Ultimaker/Cura/blob/master/resources/machines/ultimaker_original.json#L2 - # The *.hex files are stored at a seperate repository: - # https://github.com/Ultimaker/cura-binary-data/tree/master/cura/resources/firmware - machine_without_extras = {"bq_witbox" : "MarlinWitbox.hex", - "bq_hephestos_2" : "MarlinHephestos2.hex", - "ultimaker_original" : "MarlinUltimaker-{baudrate}.hex", - "ultimaker_original_plus" : "MarlinUltimaker-UMOP-{baudrate}.hex", - "ultimaker_original_dual" : "MarlinUltimaker-{baudrate}-dual.hex", - "ultimaker2" : "MarlinUltimaker2.hex", - "ultimaker2_go" : "MarlinUltimaker2go.hex", - "ultimaker2_plus" : "MarlinUltimaker2plus.hex", - "ultimaker2_extended" : "MarlinUltimaker2extended.hex", - "ultimaker2_extended_plus" : "MarlinUltimaker2extended-plus.hex", - "blackbelt" : "MarlinBlackBelt3D.hex", - } - machine_with_heated_bed = {"ultimaker_original" : "MarlinUltimaker-HBK-{baudrate}.hex", - "ultimaker_original_dual" : "MarlinUltimaker-HBK-{baudrate}-dual.hex", - } - ##TODO: Add check for multiple extruders - hex_file = None - if machine_id in machine_without_extras.keys(): # The machine needs to be defined here! - if machine_id in machine_with_heated_bed.keys() and machine_has_heated_bed: - Logger.log("d", "Choosing firmware with heated bed enabled for machine %s.", machine_id) - hex_file = machine_with_heated_bed[machine_id] # Return firmware with heated bed enabled - else: - Logger.log("d", "Choosing basic firmware for machine %s.", machine_id) - hex_file = machine_without_extras[machine_id] # Return "basic" firmware - else: - Logger.log("w", "There is no firmware for machine %s.", machine_id) - - if hex_file: - try: - return Resources.getPath(CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) - except FileNotFoundError: - Logger.log("w", "Could not find any firmware for machine %s.", machine_id) - return "" - else: - Logger.log("w", "Could not find any firmware for machine %s.", machine_id) - return "" - ## Helper to identify serial ports (and scan for them) def _addRemovePorts(self, serial_ports): # First, find and add all new or changed keys diff --git a/plugins/USBPrinting/__init__.py b/plugins/USBPrinting/__init__.py index fd5488eead..075ad2943b 100644 --- a/plugins/USBPrinting/__init__.py +++ b/plugins/USBPrinting/__init__.py @@ -2,9 +2,6 @@ # Cura is released under the terms of the LGPLv3 or higher. from . import USBPrinterOutputDeviceManager -from PyQt5.QtQml import qmlRegisterSingletonType -from UM.i18n import i18nCatalog -i18n_catalog = i18nCatalog("cura") def getMetaData(): @@ -14,5 +11,4 @@ def getMetaData(): def register(app): # We are violating the QT API here (as we use a factory, which is technically not allowed). # but we don't really have another means for doing this (and it seems to you know -work-) - qmlRegisterSingletonType(USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager, "Cura", 1, 0, "USBPrinterManager", USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager.getInstance) return {"output_device": USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager(app)} diff --git a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml index b92638aa12..4a1d42e248 100644 --- a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml +++ b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml @@ -17,7 +17,7 @@ Cura.MachineAction property int rightRow: (checkupMachineAction.width * 0.60) | 0 property bool heatupHotendStarted: false property bool heatupBedStarted: false - property bool usbConnected: Cura.USBPrinterManager.connectedPrinterList.rowCount() > 0 + property bool printerConnected: Cura.MachineManager.printerConnected UM.I18nCatalog { id: catalog; name:"cura"} Label @@ -86,7 +86,7 @@ Cura.MachineAction anchors.left: connectionLabel.right anchors.top: parent.top wrapMode: Text.WordWrap - text: checkupMachineAction.usbConnected ? catalog.i18nc("@info:status","Connected"): catalog.i18nc("@info:status","Not connected") + text: checkupMachineAction.printerConnected ? catalog.i18nc("@info:status","Connected"): catalog.i18nc("@info:status","Not connected") } ////////////////////////////////////////////////////////// Label @@ -97,7 +97,7 @@ Cura.MachineAction anchors.top: connectionLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop X: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -107,7 +107,7 @@ Cura.MachineAction anchors.top: connectionLabel.bottom wrapMode: Text.WordWrap text: manager.xMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ////////////////////////////////////////////////////////////// Label @@ -118,7 +118,7 @@ Cura.MachineAction anchors.top: endstopXLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop Y: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -128,7 +128,7 @@ Cura.MachineAction anchors.top: endstopXLabel.bottom wrapMode: Text.WordWrap text: manager.yMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ///////////////////////////////////////////////////////////////////// Label @@ -139,7 +139,7 @@ Cura.MachineAction anchors.top: endstopYLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop Z: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -149,7 +149,7 @@ Cura.MachineAction anchors.top: endstopYLabel.bottom wrapMode: Text.WordWrap text: manager.zMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } //////////////////////////////////////////////////////////// Label @@ -161,7 +161,7 @@ Cura.MachineAction anchors.top: endstopZLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Nozzle temperature check: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -171,7 +171,7 @@ Cura.MachineAction anchors.left: nozzleTempLabel.right wrapMode: Text.WordWrap text: catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Item { @@ -181,7 +181,7 @@ Cura.MachineAction anchors.top: nozzleTempLabel.top anchors.left: bedTempStatus.right anchors.leftMargin: Math.round(UM.Theme.getSize("default_margin").width/2) - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected Button { text: checkupMachineAction.heatupHotendStarted ? catalog.i18nc("@action:button","Stop Heating") : catalog.i18nc("@action:button","Start Heating") @@ -209,7 +209,7 @@ Cura.MachineAction wrapMode: Text.WordWrap text: manager.hotendTemperature + "°C" font.bold: true - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ///////////////////////////////////////////////////////////////////////////// Label @@ -221,7 +221,7 @@ Cura.MachineAction anchors.top: nozzleTempLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Build plate temperature check:") - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Label @@ -232,7 +232,7 @@ Cura.MachineAction anchors.left: bedTempLabel.right wrapMode: Text.WordWrap text: manager.bedTestCompleted ? catalog.i18nc("@info:status","Not checked"): catalog.i18nc("@info:status","Checked") - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Item { @@ -242,7 +242,7 @@ Cura.MachineAction anchors.top: bedTempLabel.top anchors.left: bedTempStatus.right anchors.leftMargin: Math.round(UM.Theme.getSize("default_margin").width/2) - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed Button { text: checkupMachineAction.heatupBedStarted ?catalog.i18nc("@action:button","Stop Heating") : catalog.i18nc("@action:button","Start Heating") @@ -270,7 +270,7 @@ Cura.MachineAction wrapMode: Text.WordWrap text: manager.bedTemperature + "°C" font.bold: true - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Label { diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py deleted file mode 100644 index 1f0e640f04..0000000000 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ /dev/null @@ -1,19 +0,0 @@ -from UM.Application import Application -from UM.Settings.DefinitionContainer import DefinitionContainer -from cura.MachineAction import MachineAction -from UM.i18n import i18nCatalog -from UM.Settings.ContainerRegistry import ContainerRegistry - -catalog = i18nCatalog("cura") - -## Upgrade the firmware of a machine by USB with this action. -class UpgradeFirmwareMachineAction(MachineAction): - def __init__(self): - super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware")) - self._qml_url = "UpgradeFirmwareMachineAction.qml" - ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - - def _onContainerAdded(self, container): - # Add this action as a supported action to all machine definitions if they support USB connection - if isinstance(container, DefinitionContainer) and container.getMetaDataEntry("type") == "machine" and container.getMetaDataEntry("supports_usb_connection"): - Application.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml deleted file mode 100644 index ed771d2a04..0000000000 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Controls 1.1 -import QtQuick.Layouts 1.1 -import QtQuick.Window 2.1 -import QtQuick.Dialogs 1.2 // For filedialog - -import UM 1.2 as UM -import Cura 1.0 as Cura - - -Cura.MachineAction -{ - anchors.fill: parent; - property bool printerConnected: Cura.MachineManager.printerConnected - property var activeOutputDevice: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null - - Item - { - id: upgradeFirmwareMachineAction - anchors.fill: parent; - UM.I18nCatalog { id: catalog; name:"cura"} - - Label - { - id: pageTitle - width: parent.width - text: catalog.i18nc("@title", "Upgrade Firmware") - wrapMode: Text.WordWrap - font.pointSize: 18 - } - Label - { - id: pageDescription - anchors.top: pageTitle.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width - wrapMode: Text.WordWrap - text: catalog.i18nc("@label", "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work.") - } - - Label - { - id: upgradeText1 - anchors.top: pageDescription.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width - wrapMode: Text.WordWrap - text: catalog.i18nc("@label", "The firmware shipping with new printers works, but new versions tend to have more features and improvements."); - } - - Row - { - anchors.top: upgradeText1.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.horizontalCenter: parent.horizontalCenter - width: childrenRect.width - spacing: UM.Theme.getSize("default_margin").width - property var firmwareName: Cura.USBPrinterManager.getDefaultFirmwareName() - Button - { - id: autoUpgradeButton - text: catalog.i18nc("@action:button", "Automatically upgrade Firmware"); - enabled: parent.firmwareName != "" && activeOutputDevice - onClicked: - { - activeOutputDevice.updateFirmware(parent.firmwareName) - } - } - Button - { - id: manualUpgradeButton - text: catalog.i18nc("@action:button", "Upload custom Firmware"); - enabled: activeOutputDevice != null - onClicked: - { - customFirmwareDialog.open() - } - } - } - - FileDialog - { - id: customFirmwareDialog - title: catalog.i18nc("@title:window", "Select custom firmware") - nameFilters: "Firmware image files (*.hex)" - selectExisting: true - onAccepted: activeOutputDevice.updateFirmware(fileUrl) - } - } -} \ No newline at end of file diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index 495f212736..e87949580a 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -1,22 +1,16 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from . import BedLevelMachineAction -from . import UpgradeFirmwareMachineAction from . import UMOUpgradeSelection from . import UM2UpgradeSelection -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - def getMetaData(): - return { - } + return {} def register(app): return { "machine_action": [ BedLevelMachineAction.BedLevelMachineAction(), - UpgradeFirmwareMachineAction.UpgradeFirmwareMachineAction(), UMOUpgradeSelection.UMOUpgradeSelection(), UM2UpgradeSelection.UM2UpgradeSelection() ]} diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py index 435621ec54..609781ebfe 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade21to22 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade21to22.VersionUpgrade21to22() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py index 730a62e591..a56f1f807b 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py @@ -73,7 +73,7 @@ class VersionUpgrade22to24(VersionUpgrade): def __convertVariant(self, variant_path): # Copy the variant to the machine_instances/*_settings.inst.cfg - variant_config = configparser.ConfigParser(interpolation=None) + variant_config = configparser.ConfigParser(interpolation = None) with open(variant_path, "r", encoding = "utf-8") as fhandle: variant_config.read_file(fhandle) diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py index fbdbf92a4b..278b660ec1 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade.VersionUpgrade22to24() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 2430b35ea0..6643edb765 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -117,7 +117,7 @@ class VersionUpgrade25to26(VersionUpgrade): # \param serialised The serialised form of a quality profile. # \param filename The name of the file to upgrade. def upgradeMachineStack(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) # NOTE: This is for Custom FDM printers diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py index 1419325cc1..67aa73233f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade25to26 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade25to26.VersionUpgrade25to26() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py index 79ed5e8b68..0e26ca8bbf 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade26to27 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade26to27.VersionUpgrade26to27() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py b/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py index a88ff5ac1c..399eb18b5d 100644 --- a/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py +++ b/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py @@ -84,7 +84,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of a preferences file. # \param filename The name of the file to upgrade. def upgradePreferences(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) # Update version numbers @@ -105,7 +105,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of the container file. # \param filename The name of the file to upgrade. def upgradeInstanceContainer(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) for each_section in ("general", "metadata"): @@ -130,7 +130,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of a container stack. # \param filename The name of the file to upgrade. def upgradeStack(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) for each_section in ("general", "metadata"): diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py index 4faa1290b5..1130c1e9e2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py @@ -5,13 +5,13 @@ from . import VersionUpgrade33to34 upgrade = VersionUpgrade33to34.VersionUpgrade33to34() - def getMetaData(): return { "version_upgrade": { # From To Upgrade function ("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer), ("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer), + ("quality", 3000004): ("quality", 4000004, upgrade.upgradeInstanceContainer), ("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer), }, "sources": { @@ -23,6 +23,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index 9d3410e40d..2ea74f6194 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -5,7 +5,6 @@ from . import VersionUpgrade34to35 upgrade = VersionUpgrade34to35.VersionUpgrade34to35() - def getMetaData(): return { "version_upgrade": { @@ -14,6 +13,7 @@ def getMetaData(): ("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer), ("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer), + ("quality", 4000004): ("quality", 4000005, upgrade.upgradeInstanceContainer), ("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer), ("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack), @@ -40,6 +40,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 70a359ee76..e8bde78424 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -5,10 +5,7 @@ from . import XmlMaterialProfile from . import XmlMaterialUpgrader from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase -from UM.i18n import i18nCatalog - -catalog = i18nCatalog("cura") upgrader = XmlMaterialUpgrader.XmlMaterialUpgrader() diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 7107bbe4f0..ee82b17a75 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -9,7 +9,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -26,7 +26,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -43,7 +43,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -60,7 +60,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -77,7 +77,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -94,7 +94,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -111,7 +111,24 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "plugins@ultimaker.com", + "website": "https://ultimaker.com" + } + } + }, + "FirmwareUpdater": { + "package_info": { + "package_id": "FirmwareUpdater", + "package_type": "plugin", + "display_name": "Firmware Updater", + "description": "Provides a machine actions for updating firmware.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com", + "author": { + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -128,7 +145,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -145,7 +162,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -162,7 +179,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -196,7 +213,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -213,7 +230,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -230,7 +247,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -264,7 +281,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -281,7 +298,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -298,7 +315,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -315,7 +332,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -332,7 +349,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -349,7 +366,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -366,7 +383,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -383,7 +400,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -400,7 +417,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -417,7 +434,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -434,7 +451,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -451,7 +468,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -468,7 +485,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -485,7 +502,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -502,7 +519,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -519,7 +536,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -536,7 +553,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -553,7 +570,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -570,7 +587,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -587,7 +604,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -604,7 +621,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -621,7 +638,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -638,7 +655,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -655,7 +672,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -672,7 +689,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -706,7 +723,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -723,7 +740,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -736,8 +753,8 @@ "package_type": "material", "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -754,8 +771,44 @@ "package_type": "material", "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericCFFCPE": { + "package_info": { + "package_id": "GenericCFFCPE", + "package_type": "material", + "display_name": "Generic CFF CPE", + "description": "The generic CFF CPE profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericCFFPA": { + "package_info": { + "package_id": "GenericCFFPA", + "package_type": "material", + "display_name": "Generic CFF PA", + "description": "The generic CFF PA profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -772,8 +825,8 @@ "package_type": "material", "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -790,8 +843,44 @@ "package_type": "material", "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericGFFCPE": { + "package_info": { + "package_id": "GenericGFFCPE", + "package_type": "material", + "display_name": "Generic GFF CPE", + "description": "The generic GFF CPE profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericGFFPA": { + "package_info": { + "package_id": "GenericGFFPA", + "package_type": "material", + "display_name": "Generic GFF PA", + "description": "The generic GFF PA profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -809,7 +898,7 @@ "display_name": "Generic HIPS", "description": "The generic HIPS profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -826,8 +915,8 @@ "package_type": "material", "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -844,8 +933,8 @@ "package_type": "material", "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -863,7 +952,7 @@ "display_name": "Generic PETG", "description": "The generic PETG profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -880,8 +969,8 @@ "package_type": "material", "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -898,8 +987,8 @@ "package_type": "material", "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -916,8 +1005,8 @@ "package_type": "material", "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -934,8 +1023,8 @@ "package_type": "material", "display_name": "Generic Tough PLA", "description": "The generic Tough PLA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.0.1", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -952,8 +1041,8 @@ "package_type": "material", "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.2.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1060,7 +1149,7 @@ "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", - "diplay_name": "Fiberlogy S.A.", + "display_name": "Fiberlogy S.A.", "email": "grzegorz.h@fiberlogy.com", "website": "http://fiberlogy.com" } @@ -1208,11 +1297,30 @@ "package_type": "material", "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerBAM": { + "package_info": { + "package_id": "UltimakerBAM", + "package_type": "material", + "display_name": "Ultimaker Breakaway", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/breakaway", + "author": { + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1227,11 +1335,30 @@ "package_type": "material", "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerCPEP": { + "package_info": { + "package_id": "UltimakerCPEP", + "package_type": "material", + "display_name": "Ultimaker CPE+", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/cpe", + "author": { + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1246,11 +1373,11 @@ "package_type": "material", "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1265,11 +1392,11 @@ "package_type": "material", "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pc", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1284,11 +1411,30 @@ "package_type": "material", "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerPP": { + "package_info": { + "package_id": "UltimakerPP", + "package_type": "material", + "display_name": "Ultimaker PP", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/pp", + "author": { + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1303,11 +1449,49 @@ "package_type": "material", "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerTPU": { + "package_info": { + "package_id": "UltimakerTPU", + "package_type": "material", + "display_name": "Ultimaker TPU 95A", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.2.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/tpu-95a", + "author": { + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerTPLA": { + "package_info": { + "package_id": "UltimakerTPLA", + "package_type": "material", + "display_name": "Ultimaker Tough PLA", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.2", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/tough-pla", + "author": { + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json new file mode 100644 index 0000000000..c14ce1ac31 --- /dev/null +++ b/resources/definitions/anycubic_4max.def.json @@ -0,0 +1,88 @@ +{ + "version": 2, + "name": "Anycubic 4Max", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jason Scurtu", + "manufacturer": "Anycubic", + "category": "Other", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "platform": "anycubic_4max_platform.stl", + "has_materials": true, + "quality_definition": "anycubic_4max", + "has_machine_quality": true, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "anycubic_4max_extruder_0" + } + }, + + "overrides": + { + "machine_name": { "default_value": "Anycubic 4Max" }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 220 }, + "machine_height": {"default_value": 300 }, + "machine_depth": { "default_value": 220 }, + "machine_center_is_zero": { "default_value": false }, + "machine_max_feedrate_x": { "default_value": 300 }, + "machine_max_feedrate_y": { "default_value": 300 }, + "machine_max_feedrate_z": { "default_value": 10 }, + "machine_acceleration": { "default_value": 1500 }, + "machine_max_acceleration_x": { "default_value": 1500 }, + "machine_max_acceleration_y": { "default_value": 1500 }, + "machine_max_acceleration_z": { "default_value": 100 }, + "machine_max_jerk_xy": { "default_value": 11.0 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 11.0 }, + + "jerk_enabled": { "value": "True" }, + "jerk_layer_0": { "value": "jerk_topbottom" }, + "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_print": { "value": "11" }, + "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_support_interface": { "value": "jerk_topbottom" }, + "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" }, + "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" }, + "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" }, + + "gantry_height": { "default_value": 25.0 }, + "skin_overlap": { "value": "10" }, + + "acceleration_enabled": { "value": "True" }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_print": { "value": "900" }, + "acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_support_interface": { "value": "acceleration_topbottom" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_travel": { "value": "acceleration_print" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 1000 / 1000)" }, + + "speed_layer_0": { "value": "20" }, + "speed_print": { "value": "40" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.ceil(speed_print * 20 / 35)" }, + "speed_travel": { "value": "60" }, + "speed_wall": { "value": "math.ceil(speed_print * 30 / 35)" }, + "speed_wall_0": { "value": "math.ceil(speed_wall * 20 / 30)" }, + "speed_wall_x": { "value": "speed_wall" }, + + "infill_pattern": {"value": "'zigzag'" }, + "infill_before_walls": {"value": false }, + + "adhesion_type": { "default_value": "skirt" }, + "material_bed_temperature": { "maximum_value": "150" }, + "material_bed_temperature_layer_0": { "maximum_value": "150" }, + + "machine_gcode_flavor":{"default_value": "RepRap (Marlin/Sprinter)"}, + "machine_start_gcode":{"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\nM117 Printing...\nG5"}, + "machine_end_gcode":{"default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000"} + } +} diff --git a/resources/definitions/blackbelt.def.json b/resources/definitions/blackbelt.def.json index 1de22698c3..784a7a7cce 100644 --- a/resources/definitions/blackbelt.def.json +++ b/resources/definitions/blackbelt.def.json @@ -7,6 +7,7 @@ "author": "fieldOfView", "manufacturer": "BLACKBELT 3D B.V.", "category": "BLACKBELT 3D", + "firmware_file": "MarlinBlackBelt3D.hex", "platform": "blackbelt_platform.stl", "platform_offset": [0, -2, 0], "limit_buildvolume": diff --git a/resources/definitions/bq_hephestos.def.json b/resources/definitions/bq_hephestos.def.json index 8dc67a8cad..be024cd6fa 100644 --- a/resources/definitions/bq_hephestos.def.json +++ b/resources/definitions/bq_hephestos.def.json @@ -12,7 +12,8 @@ "machine_extruder_trains": { "0": "bq_hephestos_extruder_0" - } + }, + "firmware_file": "MarlinHephestos2.hex" }, "overrides": { diff --git a/resources/definitions/bq_witbox.def.json b/resources/definitions/bq_witbox.def.json index 0ae1c5e339..b96da6179c 100644 --- a/resources/definitions/bq_witbox.def.json +++ b/resources/definitions/bq_witbox.def.json @@ -12,7 +12,8 @@ "machine_extruder_trains": { "0": "bq_witbox_extruder_0" - } + }, + "firmware_file": "MarlinWitbox.hex" }, "overrides": { diff --git a/resources/definitions/creality_cr10.def.json b/resources/definitions/creality_cr10.def.json index b727834db3..fb63867163 100644 --- a/resources/definitions/creality_cr10.def.json +++ b/resources/definitions/creality_cr10.def.json @@ -37,7 +37,7 @@ "top_bottom_thickness": { "default_value": 0.6 }, - "top_bottom_pattern": { + "top_bottom_pattern_0": { "default_value": "concentric" }, "infill_pattern": { diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index d3765ca9b3..08d8e92b72 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -19,13 +19,13 @@ "default_value": "Creality Ender-3" }, "machine_width": { - "default_value": 220 + "default_value": 235 }, "machine_height": { "default_value": 250 }, "machine_depth": { - "default_value": 220 + "default_value": 235 }, "machine_heated_bed": { "default_value": true @@ -87,10 +87,10 @@ "default_value": 5 }, "machine_start_gcode": { - "default_value": "; Ender 3 Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Extruder temperature\nM140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed" + "default_value": "; Ender 3 Custom Start G-code\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End of custom start GCode" }, "machine_end_gcode": { - "default_value": "; Ender 3 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z10 ; Move Z Axis up 10 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM104 S0 ; Turn off Extruder temperature\nM140 S0 ; Turn off Heat Bed\nM106 S0 ; Turn off Cooling Fan\nM107 ; Turn off Fan\nM84 ; Disable stepper motors" + "default_value": "; Ender 3 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z20 ; Move Z Axis up 20 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM84 ; Disable stepper motors\n; End of custom end GCode" } } -} \ No newline at end of file +} diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json old mode 100644 new mode 100755 index a4b2d47a7b..0c4cec3674 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -33,6 +33,7 @@ "material_final_print_temperature": { "value": "material_print_temperature - 5" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }, + "material_diameter": { "default_value": 1.75 }, "travel_avoid_distance": { "default_value": 1, "value": "1" }, "speed_print" : { "default_value": 70 }, "speed_travel": { "value": "150.0" }, @@ -55,6 +56,7 @@ "support_use_towers" : { "default_value": false }, "jerk_wall_0" : { "value": "30" }, "jerk_travel" : { "default_value": 20 }, - "acceleration_travel" : { "value": 10000 } + "acceleration_travel" : { "value": 10000 }, + "machine_max_feedrate_z" : { "default_value": 150 } } } diff --git a/resources/definitions/fdmextruder.def.json b/resources/definitions/fdmextruder.def.json index 3f84ed69a4..19c9e92d18 100644 --- a/resources/definitions/fdmextruder.def.json +++ b/resources/definitions/fdmextruder.def.json @@ -178,7 +178,19 @@ "maximum_value": "machine_height", "settable_per_mesh": false, "settable_per_extruder": true - } + }, + "machine_extruder_cooling_fan_number": + { + "label": "Extruder Print Cooling Fan", + "description": "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder.", + "type": "int", + "default_value": 0, + "minimum_value": "0", + "settable_per_mesh": false, + "settable_per_extruder": true, + "settable_per_meshgroup": false, + "setttable_globally": false + } } }, "platform_adhesion": diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 14f948ce5b..bc6e8a40f4 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -230,6 +230,7 @@ "label": "Number of Extruders that are enabled", "description": "Number of extruder trains that are enabled; automatically set in software", "value": "machine_extruder_count", + "default_value": 1, "minimum_value": "1", "maximum_value": "16", "type": "int", @@ -845,6 +846,7 @@ "default_value": 0.4, "type": "float", "value": "line_width", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1191,6 +1193,7 @@ "zigzag": "Zig Zag" }, "default_value": "lines", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1206,6 +1209,7 @@ "zigzag": "Zig Zag" }, "default_value": "lines", + "enabled": "top_layers > 0 or bottom_layers > 0", "value": "top_bottom_pattern", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true @@ -1213,11 +1217,11 @@ "connect_skin_polygons": { "label": "Connect Top/Bottom Polygons", - "description": "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality.", + "description": "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality.", "type": "bool", "default_value": false, - "enabled": "top_bottom_pattern == 'concentric'", - "limit_to_extruder": "infill_extruder_nr", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern == 'concentric'", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "skin_angles": @@ -1226,7 +1230,7 @@ "description": "A list of integer line directions to use when the top/bottom layers use the lines or zig zag pattern. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees).", "type": "[int]", "default_value": "[ ]", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1452,7 +1456,8 @@ "label": "Ignore Small Z Gaps", "description": "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting.", "type": "bool", - "default_value": true, + "default_value": false, + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1464,6 +1469,7 @@ "minimum_value": "0", "maximum_value_warning": "10", "type": "int", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1638,7 +1644,7 @@ "infill_pattern": { "label": "Infill Pattern", - "description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction.", + "description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Gyroid, cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction.", "type": "enum", "options": { @@ -1653,7 +1659,8 @@ "concentric": "Concentric", "zigzag": "Zig Zag", "cross": "Cross", - "cross_3d": "Cross 3D" + "cross_3d": "Cross 3D", + "gyroid": "Gyroid" }, "default_value": "grid", "enabled": "infill_sparse_density > 0", @@ -1668,7 +1675,7 @@ "type": "bool", "default_value": false, "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d'", - "enabled": "infill_pattern == 'lines' or infill_pattern == 'grid' or infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'cross' or infill_pattern == 'cross_3d'", + "enabled": "infill_pattern == 'lines' or infill_pattern == 'grid' or infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'gyroid'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1678,8 +1685,8 @@ "description": "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time.", "type": "bool", "default_value": true, - "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0", - "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0", + "value": "(infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0) and infill_wall_line_count > 0", + "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1792,7 +1799,7 @@ "minimum_value_warning": "-50", "maximum_value_warning": "100", "value": "5 if top_bottom_pattern != 'concentric' else 0", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1807,7 +1814,7 @@ "minimum_value_warning": "-0.5 * machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size", "value": "0.5 * (skin_line_width + (wall_line_width_x if wall_line_count > 1 else wall_line_width_0)) * skin_overlap / 100 if top_bottom_pattern != 'concentric' else 0", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "settable_per_mesh": true } } @@ -1920,6 +1927,7 @@ "default_value": 0, "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1933,6 +1941,7 @@ "default_value": 0, "value": "skin_preshrink", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1945,6 +1954,7 @@ "default_value": 0, "value": "skin_preshrink", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -1960,6 +1970,7 @@ "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", "minimum_value": "-skin_preshrink", "limit_to_extruder": "top_bottom_extruder_nr", + "enabled": "top_layers > 0 or bottom_layers > 0", "settable_per_mesh": true, "children": { @@ -1972,6 +1983,7 @@ "default_value": 2.8, "value": "expand_skins_expand_distance", "minimum_value": "-top_skin_preshrink", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1984,6 +1996,7 @@ "default_value": 2.8, "value": "expand_skins_expand_distance", "minimum_value": "-bottom_skin_preshrink", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -1999,7 +2012,7 @@ "minimum_value_warning": "2", "maximum_value": "90", "default_value": 90, - "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", + "enabled": "(top_layers > 0 or bottom_layers > 0) and (top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0)", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -2013,7 +2026,7 @@ "default_value": 2.24, "value": "top_layers * layer_height / math.tan(math.radians(max_skin_angle_for_expansion))", "minimum_value": "0", - "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", + "enabled": "(top_layers > 0 or bottom_layers > 0) and (top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0)", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -2563,6 +2576,7 @@ "default_value": 30, "value": "speed_print / 2", "limit_to_extruder": "top_bottom_extruder_nr", + "enabled": "top_layers > 0 or bottom_layers > 0", "settable_per_mesh": true }, "speed_support": @@ -2887,6 +2901,7 @@ "default_value": 3000, "value": "acceleration_topbottom", "enabled": "resolveOrValue('acceleration_enabled') and roofing_layer_count > 0 and top_layers > 0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "roofing_extruder_nr", "settable_per_mesh": true }, @@ -3187,7 +3202,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "resolveOrValue('jerk_enabled')", + "enabled": "(top_layers > 0 or bottom_layers > 0) and resolveOrValue('jerk_enabled')", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -3816,7 +3831,8 @@ "value": "1 if (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'concentric') else 0", "enabled": "support_enable", "limit_to_extruder": "support_infill_extruder_nr", - "settable_per_mesh": true + "settable_per_mesh": false, + "settable_per_extruder": true }, "zig_zaggify_support": { @@ -3902,6 +3918,48 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "support_brim_enable": + { + "label": "Enable Support Brim", + "description": "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate.", + "type": "bool", + "default_value": false, + "enabled": "support_enable or support_tree_enable", + "limit_to_extruder": "support_infill_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "support_brim_width": + { + "label": "Support Brim Width", + "description": "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material.", + "type": "float", + "unit": "mm", + "default_value": 8.0, + "minimum_value": "0.0", + "maximum_value_warning": "50.0", + "enabled": "support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "support_infill_extruder_nr", + "children": + { + "support_brim_line_count": + { + "label": "Support Brim Line Count", + "description": "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material.", + "type": "int", + "default_value": 20, + "minimum_value": "0", + "maximum_value_warning": "50 / skirt_brim_line_width", + "value": "math.ceil(support_brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))", + "enabled": "support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "support_infill_extruder_nr" + } + } + }, "support_z_distance": { "label": "Support Z Distance", @@ -4552,6 +4610,17 @@ } } }, + "brim_replaces_support": + { + "label": "Brim Replaces Support", + "description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions.", + "type": "bool", + "default_value": true, + "enabled": "resolveOrValue('adhesion_type') == 'brim' and support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "support_infill_extruder_nr" + }, "brim_outside_only": { "label": "Brim Only on Outside", @@ -5861,7 +5930,7 @@ "description": "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions.", "type": "bool", "default_value": false, - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -6529,9 +6598,8 @@ "unit": "%", "type": "float", "default_value": 100, - "minimum_value": "10", + "minimum_value": "0.001", "minimum_value_warning": "25", - "maximum_value": "100", "settable_per_mesh": true }, "bridge_settings_enabled": diff --git a/resources/definitions/makeit_pro_l.def.json b/resources/definitions/makeit_pro_l.def.json index 2f9173c90e..d40d63f97b 100644 --- a/resources/definitions/makeit_pro_l.def.json +++ b/resources/definitions/makeit_pro_l.def.json @@ -8,7 +8,6 @@ "manufacturer": "NA", "file_formats": "text/x-gcode", "has_materials": false, - "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], "machine_extruder_trains": { "0": "makeit_l_dual_1st", diff --git a/resources/definitions/makeit_pro_m.def.json b/resources/definitions/makeit_pro_m.def.json index 0cd7b42df3..1f0381df86 100644 --- a/resources/definitions/makeit_pro_m.def.json +++ b/resources/definitions/makeit_pro_m.def.json @@ -8,7 +8,6 @@ "manufacturer": "NA", "file_formats": "text/x-gcode", "has_materials": false, - "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], "machine_extruder_trains": { "0": "makeit_dual_1st", diff --git a/resources/definitions/makerbotreplicator.def.json b/resources/definitions/makerbotreplicator.def.json index 1770b7a979..3b02215e74 100644 --- a/resources/definitions/makerbotreplicator.def.json +++ b/resources/definitions/makerbotreplicator.def.json @@ -6,6 +6,7 @@ "visible": true, "author": "Ultimaker", "manufacturer": "MakerBot", + "machine_x3g_variant": "r1", "file_formats": "application/x3g", "platform_offset": [ 0, 0, 0], "machine_extruder_trains": diff --git a/resources/definitions/tam.def.json b/resources/definitions/tam.def.json index 9865abedda..0ed8d657a2 100644 --- a/resources/definitions/tam.def.json +++ b/resources/definitions/tam.def.json @@ -10,7 +10,6 @@ "platform": "tam_series1.stl", "platform_offset": [-580.0, -6.23, 253.5], "has_materials": false, - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "tam_extruder_0" diff --git a/resources/definitions/tizyx_k25.def.json b/resources/definitions/tizyx_k25.def.json index 94a20b371e..d6a5ff5ecd 100644 --- a/resources/definitions/tizyx_k25.def.json +++ b/resources/definitions/tizyx_k25.def.json @@ -14,6 +14,8 @@ "preferred_material": "tizyx_pla", "has_machine_quality": true, "has_materials": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm", "machine_extruder_trains": { "0": "tizyx_k25_extruder_0" diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index a91d2332b0..bbe61d49fb 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -17,11 +17,12 @@ "preferred_variant_name": "0.4 mm", "exclude_materials": ["generic_hips", "generic_petg", "generic_bam", "ultimaker_bam", "generic_pva", "ultimaker_pva", "generic_tough_pla", "ultimaker_tough_pla_black", "ultimaker_tough_pla_green", "ultimaker_tough_pla_red", "ultimaker_tough_pla_white"], "first_start_actions": ["UM2UpgradeSelection"], - "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"], + "supported_actions":["UM2UpgradeSelection"], "machine_extruder_trains": { "0": "ultimaker2_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2.hex" }, "overrides": { "machine_name": { "default_value": "Ultimaker 2" }, diff --git a/resources/definitions/ultimaker2_extended.def.json b/resources/definitions/ultimaker2_extended.def.json index af169c94fb..39a1ca37b3 100644 --- a/resources/definitions/ultimaker2_extended.def.json +++ b/resources/definitions/ultimaker2_extended.def.json @@ -14,7 +14,8 @@ "machine_extruder_trains": { "0": "ultimaker2_extended_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2extended.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_extended_plus.def.json b/resources/definitions/ultimaker2_extended_plus.def.json index f3a8bfcf9f..0242115057 100644 --- a/resources/definitions/ultimaker2_extended_plus.def.json +++ b/resources/definitions/ultimaker2_extended_plus.def.json @@ -10,11 +10,11 @@ "file_formats": "text/x-gcode", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2ExtendedPlusbackplate.png", - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_extended_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2extended-plus.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index c66fb38fc0..e2ad2b00a1 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -13,11 +13,11 @@ "platform_texture": "Ultimaker2Gobackplate.png", "platform_offset": [0, 0, 0], "first_start_actions": [], - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_go_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2go.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index bc4d3a6230..bf48353f59 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -15,11 +15,11 @@ "has_machine_materials": true, "has_machine_quality": true, "first_start_actions": [], - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2plus.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index b1daa6b780..72756de2a5 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -24,7 +24,16 @@ }, "first_start_actions": [ "DiscoverUM3Action" ], "supported_actions": [ "DiscoverUM3Action" ], - "supports_usb_connection": false + "supports_usb_connection": false, + "firmware_update_info": { + "id": 9066, + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" + ], + "update_url": "https://ultimaker.com/firmware" + } }, diff --git a/resources/definitions/ultimaker3_extended.def.json b/resources/definitions/ultimaker3_extended.def.json index eb3cda9320..68f26969b7 100644 --- a/resources/definitions/ultimaker3_extended.def.json +++ b/resources/definitions/ultimaker3_extended.def.json @@ -23,7 +23,16 @@ "1": "ultimaker3_extended_extruder_right" }, "first_start_actions": [ "DiscoverUM3Action" ], - "supported_actions": [ "DiscoverUM3Action" ] + "supported_actions": [ "DiscoverUM3Action" ], + "firmware_update_info": { + "id": 9511, + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" + ], + "update_url": "https://ultimaker.com/firmware" + } }, "overrides": { diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index c961423504..4714fc1217 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -14,11 +14,13 @@ "has_machine_quality": true, "exclude_materials": ["generic_hips", "generic_petg", "generic_bam", "ultimaker_bam", "generic_pva", "ultimaker_pva", "generic_tough_pla", "ultimaker_tough_pla_black", "ultimaker_tough_pla_green", "ultimaker_tough_pla_red", "ultimaker_tough_pla_white"], "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], - "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"], + "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], "machine_extruder_trains": { "0": "ultimaker_original_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker-{baudrate}.hex", + "firmware_hbk_file": "MarlinUltimaker-HBK-{baudrate}.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index 55eddba85f..0dc1cb3d2d 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -19,8 +19,10 @@ "0": "ultimaker_original_dual_1st", "1": "ultimaker_original_dual_2nd" }, + "firmware_file": "MarlinUltimaker-{baudrate}-dual.hex", + "firmware_hbk_file": "MarlinUltimaker-HBK-{baudrate}-dual.hex", "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], - "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"] + "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"] }, "overrides": { diff --git a/resources/definitions/ultimaker_original_plus.def.json b/resources/definitions/ultimaker_original_plus.def.json index 71aa53b2bf..01523f34b7 100644 --- a/resources/definitions/ultimaker_original_plus.def.json +++ b/resources/definitions/ultimaker_original_plus.def.json @@ -12,11 +12,12 @@ "platform_texture": "UltimakerPlusbackplate.png", "quality_definition": "ultimaker_original", "first_start_actions": ["UMOCheckup", "BedLevel"], - "supported_actions": ["UMOCheckup", "BedLevel", "UpgradeFirmware"], + "supported_actions": ["UMOCheckup", "BedLevel"], "machine_extruder_trains": { "0": "ultimaker_original_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker-UMOP-{baudrate}.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 115c84c0db..310765dbc3 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -30,7 +30,12 @@ "first_start_actions": [ "DiscoverUM3Action" ], "supported_actions": [ "DiscoverUM3Action" ], "supports_usb_connection": false, - "weight": -1 + "weight": -1, + "firmware_update_info": { + "id": 9051, + "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], + "update_url": "https://ultimaker.com/firmware" + } }, "overrides": { @@ -63,7 +68,7 @@ "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 345 }, "prime_tower_position_y": { "default_value": 222.5 }, - "prime_blob_enable": { "enabled": true }, + "prime_blob_enable": { "enabled": true, "default_value": false }, "speed_travel": { @@ -127,6 +132,7 @@ "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, "skin_overlap": { "value": "10" }, + "speed_equalize_flow_enabled": { "value": "True" }, "speed_layer_0": { "value": "20" }, "speed_prime_tower": { "value": "speed_topbottom" }, "speed_print": { "value": "35" }, @@ -145,6 +151,7 @@ "switch_extruder_prime_speed": { "value": "15" }, "switch_extruder_retraction_amount": { "value": "8" }, "top_bottom_thickness": { "value": "1" }, + "travel_avoid_supports": { "value": "True" }, "travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" }, "wall_0_inset": { "value": "0" }, "wall_line_width_x": { "value": "round(line_width * 0.3 / 0.35, 2)" }, diff --git a/resources/definitions/wanhao_d6.def.json b/resources/definitions/wanhao_d6.def.json index 6164f4d016..e269615c4a 100644 --- a/resources/definitions/wanhao_d6.def.json +++ b/resources/definitions/wanhao_d6.def.json @@ -18,9 +18,6 @@ 0, -28, 0 - ], - "supported_actions": [ - "UpgradeFirmware" ] }, "overrides": { diff --git a/resources/extruders/anycubic_4max_extruder_0.def.json b/resources/extruders/anycubic_4max_extruder_0.def.json new file mode 100644 index 0000000000..5c2ab8d479 --- /dev/null +++ b/resources/extruders/anycubic_4max_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "anycubic_4max_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "anycubic_4max", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/extruders/deltacomb_extruder_0.def.json b/resources/extruders/deltacomb_extruder_0.def.json old mode 100644 new mode 100755 diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 2fe966fe99..1874604139 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME{model_names}
\n" "Find out how to ensure the best possible print quality and reliability.
\n" "" -msgstr "" -"Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:
\n" -"{model_names}
\n" -"Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.
\n" -"Leitfaden zu Druckqualität anzeigen
" +msgstr "Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:
\n{model_names}
\nErfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.
\nLeitfaden zu Druckqualität anzeigen
" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Änderungsprotokoll anzeigen" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "Firmware aktualisieren" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +86,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Das Profil wurde geglättet und aktiviert." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB-Drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Über USB drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Über USB drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Über USB verbunden" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Ein USB-Druck wird ausgeführt. Das Schließen von Cura beendet diesen Druck. Sind Sie sicher?" @@ -137,7 +138,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeWriter unterstützt keinen Textmodus." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Format Package" @@ -159,7 +160,7 @@ msgid "Save to Removable Drive {0}" msgstr "Auf Wechseldatenträger speichern {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Es sind keine Dateiformate zum Schreiben vorhanden!" @@ -198,7 +199,7 @@ msgstr "Konnte nicht auf dem Wechseldatenträger gespeichert werden {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Fehler" @@ -227,8 +228,8 @@ msgstr "Wechseldatenträger auswerfen {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Warnhinweis" @@ -255,141 +256,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Wechseldatenträger" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Drucken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Drücken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Über Netzwerk verbunden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Über Netzwerk verbunden. Geben Sie die Zugriffsanforderung für den Drucker frei." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Über Netzwerk verbunden. Kein Zugriff auf die Druckerverwaltung." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Zugriff auf Drucker erforderlich. Bestätigen Sie den Zugriff auf den Drucker" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Authentifizierungsstatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Authentifizierungsstatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Erneut versuchen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Zugriffanforderung erneut senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Zugriff auf den Drucker genehmigt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Kein Zugriff auf das Drucken mit diesem Drucker. Druckauftrag kann nicht gesendet werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Zugriff anfordern" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Zugriffsanforderung für den Drucker senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Es kann kein neuer Druckauftrag gestartet werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Es liegt ein Problem mit der Konfiguration Ihres Ultimaker vor, das den Druckstart verhindert. Lösen Sie dieses Problem bitte, bevor Sie fortfahren." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Konfiguration nicht übereinstimmend" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Möchten Sie wirklich mit der gewählten Konfiguration drucken?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Anforderungen zwischen der Druckerkonfiguration oder -kalibrierung und Cura stimmen nicht überein. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Das Senden neuer Aufträge ist (vorübergehend) blockiert; der vorherige Druckauftrag wird noch gesendet." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Daten werden zum Drucker gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Daten werden gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +395,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Kein PrintCore geladen in Steckplatz {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Kein Material geladen in Steckplatz {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Abweichender PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) für Extruder gewählt {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Abweichendes Material (Cura: {0}, Drucker: {1}) für Extruder {2} gewählt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronisieren Ihres Druckers" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Möchten Sie Ihre aktuelle Druckerkonfiguration in Cura verwenden?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Die PrintCores und/oder Materialien auf Ihrem Drucker unterscheiden sich von denen Ihres aktuellen Projekts. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Über Netzwerk verbunden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Der Druckauftrag wurde erfolgreich an den Drucker gesendet." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Daten gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "In Monitor überwachen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "Drucker '{printer_name}' hat '{job_name}' vollständig gedrückt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Der Druckauftrag '{job_name}' wurde ausgeführt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Druck vollendet" @@ -480,49 +476,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Anschluss über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Überwachen" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Zugriff auf Update-Informationen nicht möglich." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Für Ihren {machine_name} sind neue Funktionen verfügbar! Es wird empfohlen, ein Firmware-Update für Ihren Drucker auszuführen." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Neue Firmware für %s verfügbar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Anleitung für die Aktualisierung" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Zugriff auf Update-Informationen nicht möglich." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Schichtenansicht" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert ist" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Simulationsansicht" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "G-Code ändern" @@ -536,32 +532,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Erstellt ein Volumen, in dem keine Stützstrukturen gedruckt werden." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura erfasst anonymisierte Nutzungsstatistiken." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Daten werden erfasst" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Mehr Infos" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Siehe mehr Informationen dazu, was Cura sendet." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Zulassen" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Damit lassen Sie zu, dass Cura anonymisierte Nutzungsstatistiken sendet, um zukünftige Verbesserungen für Cura zu definieren. Einige Ihrer Präferenzen und Einstellungen, die Cura-Version und ein Hash der Modelle, die Sie slicen, werden gesendet." @@ -596,56 +592,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-Bilddatei" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Slicing mit dem aktuellen Material nicht möglich, da es mit der gewählten Maschine oder Konfiguration nicht kompatibel ist." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Slicing nicht möglich" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Die aktuellen Einstellungen lassen kein Schneiden (Slicing) zu. Die folgenden Einstellungen sind fehlerhaft:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Aufgrund der Pro-Modell-Einstellungen ist kein Schneiden (Slicing) möglich. Die folgenden Einstellungen sind für ein oder mehrere Modelle fehlerhaft: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Schneiden (Slicing) ist nicht möglich, da der Einzugsturm oder die Einzugsposition(en) ungültig ist (sind)." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Schneiden (Slicing) ist nicht möglich, da Objekte vorhanden sind, die mit dem deaktivierten Extruder %s verbunden sind." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Es ist kein Objekt zum Schneiden vorhanden, da keines der Modelle der Druckabmessung entspricht. Bitte die Modelle passend skalieren oder drehen." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Schichten werden verarbeitet" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informationen" @@ -661,13 +657,13 @@ msgid "Configure Per Model Settings" msgstr "Pro Objekteinstellungen konfigurieren" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Empfohlen" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Benutzerdefiniert" @@ -679,7 +675,7 @@ msgid "3MF File" msgstr "3MF-Datei" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Düse" @@ -705,18 +701,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G-Datei" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-Code parsen" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-Code-Details" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Stellen Sie sicher, dass der G-Code für Ihren Drucker und Ihre Druckerkonfiguration geeignet ist, bevor Sie die Datei senden. Der Darstellung des G-Codes ist möglicherweise nicht korrekt." @@ -727,16 +723,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-Profil" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Profilassistent" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Profilassistent" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +744,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades wählen" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Firmware aktualisieren" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +754,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Druckbett nivellieren" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Außenwand" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Innenwände" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Außenhaut" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Füllung" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Stützstruktur-Füllung" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Stützstruktur-Schnittstelle" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Stützstruktur" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Bewegungen" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Einzüge" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Sonstige" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Unbekannt" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Vorgeschnittene Datei {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "Login fehlgeschlagen" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Datei bereits vorhanden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tagBackups can be found in the configuration folder.
\n" "Please send us this Crash Report to fix the problem.
\n" " " -msgstr "" -"Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.
\n" -"Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.
\n" -"Backups sind im Konfigurationsordner abgelegt.
\n" -"Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.
\n" -" " +msgstr "Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.
\nBeim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.
\nBackups sind im Konfigurationsordner abgelegt.
\nSenden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1102,7 @@ msgid "" "A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" "Please use the \"Send report\" button to post a bug report automatically to our servers
\n" " " -msgstr "" -"Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben
\n" -"Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden
\n" -" " +msgstr "Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben
\nVerwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1199,40 +1182,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Bericht senden" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Geräte werden geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Die Szene wird eingerichtet..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Die Benutzeroberfläche wird geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Es kann nur jeweils ein G-Code gleichzeitig geladen werden. Wichtige {0} werden übersprungen." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Wenn G-Code geladen wird, kann keine weitere Datei geöffnet werden. Wichtige {0} werden übersprungen." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Das gewählte Modell war zu klein zum Laden." @@ -1263,9 +1246,9 @@ msgstr "X (Breite)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1383,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Der Nenndurchmesser des durch den Drucker unterstützten Filaments. Der exakte Durchmesser wird durch das Material und/oder das Profil überschrieben." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "X-Versatz Düse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Y-Versatz Düse" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "Kühllüfter-Nr." + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "G-Code Extruder-Start" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "G-Code Extruder-Ende" @@ -1436,41 +1429,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Verbindung zur Cura Paket-Datenbank konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Verbindung." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plugins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materialien" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Version" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Downloads" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Unbekannt" @@ -1505,8 +1499,8 @@ msgstr "Zurück" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Deinstallieren bestätigen " +msgid "Confirm uninstall" +msgstr "Deinstallieren bestätigen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1547,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Generische Materialien" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installiert" @@ -1584,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Dieses Plugin enthält eine Lizenz.\n" -"Sie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\n" -"Stimmen Sie den nachfolgenden Bedingungen zu?" +msgstr "Dieses Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1635,48 +1626,88 @@ msgid "Changelog" msgstr "Änderungsprotokoll" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Schließen" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "Firmware aktualisieren" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Die Firmware ist der Teil der Software, der direkt auf Ihrem 3D-Drucker läuft. Diese Firmware kontrolliert die Schrittmotoren, reguliert die Temperatur und sorgt letztlich dafür, dass Ihr Drucker funktioniert." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Die mit neuen Druckern gelieferte Firmware funktioniert, allerdings enthalten neue Versionen üblicherweise mehr Funktionen und Verbesserungen." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Firmware automatisch aktualisieren" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Benutzerdefinierte Firmware hochladen" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "Firmware kann nicht aktualisiert werden, da keine Verbindung zum Drucker besteht." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "Firmware kann nicht aktualisiert werden, da die Verbindung zum Drucker die Firmware-Aktualisierung nicht unterstützt." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Benutzerdefinierte Firmware wählen" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Firmware-Aktualisierung" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Die Firmware wird aktualisiert." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Firmware-Aktualisierung abgeschlossen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines unbekannten Fehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines Kommunikationsfehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines Eingabe-/Ausgabefehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Die Firmware-Aktualisierung ist aufgrund von fehlender Firmware fehlgeschlagen." @@ -1686,44 +1717,41 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Benutzervereinbarung" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Vorhandene Verbindung" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Diese/r Drucker/Gruppe wurde bereits zu Cura hinzugefügt. Wählen Sie bitte eine/n andere/n Drucker/Gruppe." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Anschluss an vernetzten Drucker" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n" -"\n" -"Wählen Sie Ihren Drucker aus der folgenden Liste:" +msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Hinzufügen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Bearbeiten" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1759,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Entfernen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Aktualisieren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Wenn Ihr Drucker nicht aufgeführt ist, lesen Sie die Anleitung für Fehlerbehebung für Netzwerkdruck" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Typ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Firmware-Version" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Dieser Drucker ist nicht eingerichtet um eine Gruppe von Druckern anzusteuern." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Dieser Drucker steuert eine Gruppe von %1 Druckern an." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Der Drucker unter dieser Adresse hat nicht reagiert." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Druckeradresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Geben Sie die IP-Adresse oder den Hostnamen Ihres Druckers auf dem Netzwerk ein." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Drucken über Netzwerk" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Druckerauswahl" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Drucken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Drucken über Netzwerk" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Warten auf: Drucker nicht verfügbar" +msgid "Printer selection" +msgstr "Druckerauswahl" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Warten auf: Ersten verfügbaren" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Warten auf: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Vorziehen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Druckauftrag vorziehen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Soll dieser %1 wirklich an den Anfang der Warteschlange vorgezogen werden?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Löschen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Druckauftrag löschen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Soll %1 wirklich gelöscht werden?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Warteschlange verwalten" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "In Warteschlange" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Drucken" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Drucker verwalten" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Nicht verfügbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Nicht erreichbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Verfügbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Abgebrochen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Beendet" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Vorbereitung" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Wird pausiert" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Wird fortgesetzt" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Handlung erforderlich" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Warten auf: Drucker nicht verfügbar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Warten auf: Ersten verfügbaren" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Warten auf: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "Konfigurationsänderung" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "Der zugewiesene Drucker %1 erfordert die folgende(n) Konfigurationsänderung(en):" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "Der Drucker %1 wurde zugewiesen, allerdings enthält der Auftrag eine unbekannte Materialkonfiguration." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "Material %1 von %2 auf %3 wechseln." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "%3 als Material %1 laden (Dies kann nicht übergangen werden)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "Print Core %1 von %2 auf %3 wechseln." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "Druckplatte auf %1 wechseln (Dies kann nicht übergangen werden)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "Überschreiben" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "Das Starten eines Druckauftrags mit einer inkompatiblen Konfiguration kann Ihren 3D-Drucker beschädigen. Möchten Sie die Konfiguration wirklich überschreiben und %1 drucken?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "Konfiguration überschreiben und Druck starten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "Glas" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "Aluminium" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Warteschlange verwalten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "In Warteschlange" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Drucken" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Drucker verwalten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Vorziehen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Löschen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Zurückkehren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausieren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Soll dieser %1 wirklich an den Anfang der Warteschlange vorgezogen werden?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Druckauftrag vorziehen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Soll %1 wirklich gelöscht werden?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Druckauftrag löschen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Möchten Sie %1 wirklich abbrechen?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Drucken abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Möchten Sie %1 wirklich abbrechen?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Abgebrochen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Beendet" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Vorbereitung" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Wird pausiert" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Pausiert" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Wird fortgesetzt" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Handlung erforderlich" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Mit einem Drucker verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Die Druckerkonfiguration in Cura laden" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Konfiguration aktivieren" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Die Druckerkonfiguration in Cura laden" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2143,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Skripts Nachbearbeitung" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Ein Skript hinzufügen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Einstellungen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Aktive Skripts Nachbearbeitung ändern" @@ -2194,23 +2278,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Einstellungen für Füllung von anderen Modellen bearbeiten" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Einstellungen wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Einstellungen für die benutzerdefinierte Anpassung dieses Modells wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtern..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alle anzeigen" @@ -2261,6 +2345,7 @@ msgid "Type" msgstr "Typ" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Druckergruppe" @@ -2278,6 +2363,7 @@ msgstr "Wie soll der Konflikt im Profil gelöst werden?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2438,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Öffnen" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Zurück" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Export" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Weiter" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Tipp" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 Stunden 00 Minuten" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Kostenangabe" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Insgesamt:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Druckexperiment" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Checkliste" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2479,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Gehe zur nächsten Position" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Firmware aktualisieren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Die Firmware ist der Teil der Software, der direkt auf Ihrem 3D-Drucker läuft. Diese Firmware kontrolliert die Schrittmotoren, reguliert die Temperatur und sorgt letztlich dafür, dass Ihr Drucker funktioniert." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Die mit neuen Druckern gelieferte Firmware funktioniert, allerdings enthalten neue Versionen üblicherweise mehr Funktionen und Verbesserungen." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Firmware automatisch aktualisieren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Benutzerdefinierte Firmware hochladen" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Benutzerdefinierte Firmware wählen" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2666,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sie haben einige Profileinstellungen angepasst.\n" -"Möchten Sie diese Einstellungen übernehmen oder verwerfen?" +msgstr "Sie haben einige Profileinstellungen angepasst.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2686,7 +2664,7 @@ msgid "Customized" msgstr "Angepasst" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Stets nachfragen" @@ -2834,6 +2812,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Import" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Export" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2903,283 @@ msgid "Unit" msgstr "Einheit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Allgemein" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Schnittstelle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Sprache:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Währung:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Die Anwendung muss neu gestartet werden, um die Änderungen zu übernehmen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Bei Änderung der Einstellungen automatisch schneiden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch schneiden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport-Verhalten" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Nicht gestützte Bereiche des Modells in rot hervorheben. Ohne Support werden diese Bereiche nicht korrekt gedruckt." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Überhang anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Bewegt die Kamera, bis sich das Modell im Mittelpunkt der Ansicht befindet, wenn ein Modell ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Zentrieren Sie die Kamera, wenn das Element ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Soll das standardmäßige Zoom-Verhalten von Cura umgekehrt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Kehren Sie die Richtung des Kamera-Zooms um." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Soll das Zoomen in Richtung der Maus erfolgen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "In Mausrichtung zoomen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Sollen Modelle auf der Plattform so verschoben werden, dass sie sich nicht länger überschneiden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Stellen Sie sicher, dass die Modelle getrennt gehalten werden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Sollen Modelle auf der Plattform so nach unten verschoben werden, dass sie die Druckplatte berühren?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Setzt Modelle automatisch auf der Druckplatte ab" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Warnmeldung im G-Code-Reader anzeigen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Warnmeldung in G-Code-Reader" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Soll die Schicht in den Kompatibilitätsmodus gezwungen werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Schichtenansicht Kompatibilitätsmodus erzwingen (Neustart erforderlich)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Dateien öffnen und speichern" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Sollen Modelle an das Erstellungsvolumen angepasst werden, wenn sie zu groß sind?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Große Modelle anpassen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Ein Modell kann extrem klein erscheinen, wenn seine Maßeinheit z. B. in Metern anstelle von Millimetern angegeben ist. Sollen diese Modelle hoch skaliert werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extrem kleine Modelle skalieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Sollten Modelle gewählt werden, nachdem sie geladen wurden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Modelle wählen, nachdem sie geladen wurden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Soll ein Präfix anhand des Druckernamens automatisch zum Namen des Druckauftrags hinzugefügt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Geräte-Präfix zu Auftragsnamen hinzufügen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Soll beim Speichern einer Projektdatei eine Zusammenfassung angezeigt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialog Zusammenfassung beim Speichern eines Projekts anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Standardverhalten beim Öffnen einer Projektdatei" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Standardverhalten beim Öffnen einer Projektdatei: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Stets nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Immer als Projekt öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Modelle immer importieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Wenn Sie Änderungen für ein Profil vorgenommen haben und zu einem anderen Profil gewechselt sind, wird ein Dialog angezeigt, der hinterfragt, ob Sie Ihre Änderungen beibehalten möchten oder nicht; optional können Sie ein Standardverhalten wählen, sodass dieser Dialog nicht erneut angezeigt wird." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Standardverhalten für geänderte Einstellungswerte beim Wechsel zu einem anderen Profil: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Geänderte Einstellungen immer verwerfen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Geänderte Einstellungen immer auf neues Profil übertragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privatsphäre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Soll Cura bei Programmstart nach Updates suchen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bei Start nach Updates suchen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Sollen anonyme Daten über Ihren Druck an Ultimaker gesendet werden? Beachten Sie, dass keine Modelle, IP-Adressen oder andere personenbezogene Daten gesendet oder gespeichert werden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonyme) Druckinformationen senden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Mehr Informationen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimentell" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Mehrfach-Druckplattenfunktion verwenden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Mehrfach-Druckplattenfunktion verwenden (Neustart erforderlich)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Drucker" @@ -3217,7 +3201,7 @@ msgid "Connection:" msgstr "Verbindung:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Der Drucker ist nicht verbunden." @@ -3243,7 +3227,7 @@ msgid "Aborting print..." msgstr "Drucken wird abgebrochen..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -3324,17 +3308,17 @@ msgid "Global Settings" msgstr "Globale Einstellungen" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Drucker hinzufügen" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Druckername:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Drucker hinzufügen" @@ -3349,121 +3333,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Über Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "Version: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Komplettlösung für den 3D-Druck mit geschmolzenem Filament." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n" -"Cura verwendet mit Stolz die folgenden Open Source-Projekte:" +msgstr "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\nCura verwendet mit Stolz die folgenden Open Source-Projekte:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Grafische Benutzerschnittstelle" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Anwendungsrahmenwerk" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-Code-Generator" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Bibliothek Interprozess-Kommunikation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Programmiersprache" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI-Rahmenwerk" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI-Rahmenwerk Einbindungen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ Einbindungsbibliothek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Format Datenaustausch" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Support-Bibliothek für wissenschaftliche Berechnung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Support-Bibliothek für schnelleres Rechnen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Support-Bibliothek für die Handhabung von STL-Dateien" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "Support-Bibliothek für die Handhabung von ebenen Objekten" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "Support-Bibliothek für die Handhabung von dreieckigen Netzen" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "Support-Bibliothek für die Analyse von komplexen Netzwerken" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Support-Bibliothek für die Handhabung von 3MF-Dateien" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "Support-Bibliothek für Datei-Metadaten und Streaming" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Bibliothek für serielle Kommunikation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Bibliothek für ZeroConf-Erkennung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Bibliothek für Polygon-Beschneidung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Bibliothek für Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Schriftart" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG-Symbole" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Distributionsunabhängiges Format für Linux-Anwendungen" @@ -3473,73 +3475,67 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n" -"\n" -"Klicken Sie, um den Profilmanager zu öffnen." +msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Suchen..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Werte für alle Extruder kopieren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Alle geänderten Werte für alle Extruder kopieren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Diese Einstellung weiterhin anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Sichtbarkeit einstellen wird konfiguriert..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Alle verkleinern" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Alle vergrößern" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n" -"\n" -"Klicken Sie, um diese Einstellungen sichtbar zu machen." +msgstr "Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n\nKlicken Sie, um diese Einstellungen sichtbar zu machen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3551,37 +3547,31 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Wird beeinflusst von" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Diese Einstellung wird stets zwischen allen Extrudern geteilt. Eine Änderung ändert den Wert für alle Extruder." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Der Wert wird von Pro-Extruder-Werten gelöst " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Diese Einstellung hat einen vom Profil abweichenden Wert.\n" -"\n" -"Klicken Sie, um den Wert des Profils wiederherzustellen." +msgstr "Diese Einstellung hat einen vom Profil abweichenden Wert.\n\nKlicken Sie, um den Wert des Profils wiederherzustellen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n" -"\n" -"Klicken Sie, um den berechneten Wert wiederherzustellen." +msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3727,12 +3717,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Ansicht" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Kameraposition" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Druckplatte" @@ -3742,12 +3732,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Sichtbare Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Alle Einstellungen anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Sichtbarkeit einstellen verwalten..." @@ -3806,21 +3796,46 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Druckeinrichtung deaktiviert\n" -"G-Code-Dateien können nicht geändert werden" +msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 Stunden 00 Minuten" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Zeitangabe" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Kostenangabe" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Insgesamt:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup{model_names}
\n" "Find out how to ensure the best possible print quality and reliability.
\n" "" -msgstr "" -"Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:
\n" -"{model_names}
\n" -"Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.
\n" -"Ver guía de impresión de calidad
" +msgstr "Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:
\n{model_names}
\nObtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.
\nVer guía de impresión de calidad
" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Mostrar registro de cambios" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "Actualizar firmware" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +86,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "El perfil se ha aplanado y activado." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impresión USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimir mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimir mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Conectado mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Se está realizando una impresión con USB, si cierra Cura detendrá la impresión. ¿Desea continuar?" @@ -137,7 +138,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter no es compatible con el modo texto." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Paquete de formato Ultimaker" @@ -159,7 +160,7 @@ msgid "Save to Removable Drive {0}" msgstr "Guardar en unidad extraíble {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "¡No hay formatos de archivo disponibles con los que escribir!" @@ -198,7 +199,7 @@ msgstr "No se pudo guardar en unidad extraíble {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Error" @@ -227,8 +228,8 @@ msgstr "Expulsar dispositivo extraíble {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Advertencia" @@ -255,141 +256,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unidad extraíble" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprime a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado a través de la red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado a través de la red. Apruebe la solicitud de acceso en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado a través de la red. No hay acceso para controlar la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acceso a la impresora solicitado. Apruebe la solicitud en la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Estado de la autenticación" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Estado de la autenticación" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Volver a intentar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenvía la solicitud de acceso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acceso a la impresora aceptado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "No hay acceso para imprimir con esta impresora. No se puede enviar el trabajo de impresión." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar acceso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envía la solicitud de acceso a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "No se puede iniciar un nuevo trabajo de impresión." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Un problema con la configuración de Ultimaker impide iniciar la impresión. Soluciónelo antes de continuar." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuración desajustada" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "¿Seguro que desea imprimir con la configuración seleccionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "La configuración o calibración de la impresora y de Cura no coinciden. Para obtener el mejor resultado, segmente siempre los PrintCores y los materiales que se insertan en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Envío de nuevos trabajos (temporalmente) bloqueado; se sigue enviando el trabajo de impresión previo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando datos a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Enviando datos" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +395,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "No se ha cargado ningún PrintCore en la ranura {slot_number}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "No se ha cargado ningún material en la ranura {slot_number}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore distinto (Cura: {cura_printcore_name}, impresora: {remote_printcore_name}) seleccionado para extrusor {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material distinto (Cura: {0}, impresora: {1}) seleccionado para extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar con la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "¿Desea utilizar la configuración actual de su impresora en Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Los PrintCores o los materiales de la impresora difieren de los del proyecto actual. Para obtener el mejor resultado, segmente siempre los PrintCores y materiales que se hayan insertado en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Conectado a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "El trabajo de impresión se ha enviado correctamente a la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Fecha de envío" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Ver en pantalla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} ha terminado de imprimir «{job_name}»." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "El trabajo de impresión '{job_name}' ha terminado." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impresión terminada" @@ -480,49 +476,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Conectar a través de la red" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Supervisar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "No se pudo acceder a la información actualizada." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Hay nuevas funciones disponibles para {machine_name}. Se recomienda actualizar el firmware de la impresora." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nuevo firmware de %s disponible" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Cómo actualizar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "No se pudo acceder a la información actualizada." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Vista de capas" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura no muestra correctamente las capas si la impresión de alambre está habilitada" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vista de simulación" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modificar GCode" @@ -536,32 +532,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Cree un volumen que no imprima los soportes." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura recopila estadísticas de uso de forma anónima." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Recopilando datos" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Más información" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Obtenga más información sobre qué datos envía Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Permitir" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Permitir a Cura enviar estadísticas de uso de forma anónima para ayudar a priorizar mejoras futuras para Cura. Se envían algunas de sus preferencias y ajustes, la versión de Cura y un resumen de los modelos que está fragmentando." @@ -596,56 +592,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagen GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "No se puede segmentar con el material actual, ya que es incompatible con el dispositivo o la configuración seleccionados." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "No se puede segmentar" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Los ajustes actuales no permiten la segmentación. Los siguientes ajustes contienen errores: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Los ajustes de algunos modelos no permiten la segmentación. Los siguientes ajustes contienen errores en uno o más modelos: {error_labels}." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "No se puede segmentar porque la torre auxiliar o la posición o posiciones de preparación no son válidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "No se puede segmentar porque hay objetos asociados al extrusor %s que está deshabilitado." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "No hay nada que segmentar porque ninguno de los modelos se adapta al volumen de impresión. Escale o rote los modelos para que se adapten." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Procesando capas" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Información" @@ -661,13 +657,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar ajustes por modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -679,7 +675,7 @@ msgid "3MF File" msgstr "Archivo 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Tobera" @@ -705,18 +701,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Archivo G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizar GCode" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Datos de GCode" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Asegúrese de que el GCode es adecuado para la impresora y para su configuración antes de enviar el archivo a la misma. Es posible que la representación del GCode no sea precisa." @@ -727,16 +723,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil de cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Asistente del perfil" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Asistente del perfil" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +744,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Seleccionar actualizaciones" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Actualizar firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +754,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar placa de impresión" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Pared exterior" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Paredes interiores" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Forro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Relleno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Relleno de soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interfaz de soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Falda" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Desplazamiento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retracciones" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Otro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Desconocido" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Archivo {0} presegmentado" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "Fallo de inicio de sesión" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "El archivo ya existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tagBackups can be found in the configuration folder.
\n" "Please send us this Crash Report to fix the problem.
\n" " " -msgstr "" -"¡Vaya! Ultimaker Cura ha encontrado un error.
\n" -"Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.
\n" -"Las copias de seguridad se encuentran en la carpeta de configuración.
\n" -"Envíenos el informe de errores para que podamos solucionar el problema.
\n" -" " +msgstr "¡Vaya! Ultimaker Cura ha encontrado un error.
\nHemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.
\nLas copias de seguridad se encuentran en la carpeta de configuración.
\nEnvíenos el informe de errores para que podamos solucionar el problema.
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1102,7 @@ msgid "" "A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" "Please use the \"Send report\" button to post a bug report automatically to our servers
\n" " " -msgstr "" -"Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.
\n" -"Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.
\n" -" " +msgstr "Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.
\nUtilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1199,40 +1182,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Enviar informe" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Cargando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando escena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Cargando interfaz..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Solo se puede cargar un archivo GCode a la vez. Se omitió la importación de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "No se puede abrir ningún archivo si se está cargando un archivo GCode. Se omitió la importación de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "No se puede cargar el modelo seleccionado, es demasiado pequeño." @@ -1263,9 +1246,9 @@ msgstr "X (anchura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1383,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "El diámetro nominal del filamento compatible con la impresora. El diámetro exacto se sobrescribirá según el material o el perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Desplazamiento de la tobera sobre el eje X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Desplazamiento de la tobera sobre el eje Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "Número de ventilador de enfriamiento" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "GCode inicial del extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "GCode final del extrusor" @@ -1436,41 +1429,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "No se ha podido conectar con la base de datos del Paquete Cura. Compruebe la conexión." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Complementos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiales" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versión" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Última actualización" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Descargas" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Desconocido" @@ -1505,8 +1499,8 @@ msgstr "Atrás" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirmar desinstalación " +msgid "Confirm uninstall" +msgstr "Confirmar desinstalación" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1547,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiales genéricos" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Instalado" @@ -1584,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Este complemento incluye una licencia.\n" -"Debe aceptar dicha licencia para instalar el complemento.\n" -"¿Acepta las condiciones que aparecen a continuación?" +msgstr "Este complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las condiciones que aparecen a continuación?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1635,48 +1626,88 @@ msgid "Changelog" msgstr "Registro de cambios" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Cerrar" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "Actualizar firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "El firmware es la parte del software que se ejecuta directamente en la impresora 3D. Este firmware controla los motores de pasos, regula la temperatura y, finalmente, hace que funcione la impresora." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "El firmware que se envía con las nuevas impresoras funciona, pero las nuevas versiones suelen tener más funciones y mejoras." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Actualización de firmware automática" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Cargar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "No se puede actualizar el firmware porque no hay conexión con la impresora." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "No se puede actualizar el firmware porque la conexión con la impresora no permite actualizaciones de firmware." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Seleccionar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Actualización del firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Actualización del firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Actualización del firmware completada." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Se ha producido un error al actualizar el firmware debido a un error desconocido." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Se ha producido un error al actualizar el firmware debido a un error de comunicación." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Se ha producido un error al actualizar el firmware debido a un error de entrada/salida." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Se ha producido un error al actualizar el firmware porque falta el firmware." @@ -1686,44 +1717,41 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Acuerdo de usuario" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Conexión existente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Esta impresora o grupo de impresoras ya se ha añadido a Cura. Seleccione otra impresora o grupo de impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar con la impresora en red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n" -"\n" -"Seleccione la impresora de la siguiente lista:" +msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Agregar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1759,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Eliminar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Actualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si la impresora no aparece en la lista, lea la guía de solución de problemas de impresión y red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versión de firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Dirección" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Esta impresora no está configurada para alojar un grupo de impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Esta impresora aloja un grupo de %1 impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La impresora todavía no ha respondido en esta dirección." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Dirección de la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduzca la dirección IP o el nombre de host de la impresora en red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "Aceptar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimir a través de la red" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Selección de la impresora" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir a través de la red" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Esperando: impresora no disponible" +msgid "Printer selection" +msgstr "Selección de la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Esperando: primera disponible" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Esperando: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Mover al principio" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Mover trabajo de impresión al principio" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "¿Seguro que desea mover %1 al principio de la cola?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Borrar" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Borrar trabajo de impresión" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "¿Seguro que desea borrar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Administrar cola" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "En cola" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Imprimiendo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Administrar impresoras" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "No disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "No se puede conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Cancelado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Pausando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Reanudando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Acción requerida" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Esperando: impresora no disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Esperando: primera disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Esperando: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "Cambio de configuración" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "Es necesario modificar la siguiente configuración de la impresora asignada %1:" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "Se ha asignado la impresora 1%, pero el trabajo tiene una configuración de material desconocido." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "Cambiar material %1, de %2 a %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "Cargar %3 como material %1 (no se puede anular)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "Cambiar print core %1, de %2 a %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "Cambiar la placa de impresión a %1 (no se puede anular)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "Anular" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "Iniciar un trabajo de impresión con una configuración no compatible puede causar daños en su impresora 3D. ¿Seguro de que desea sobrescribir la configuración e imprimir %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "Sobrescribir la configuración e iniciar la impresión" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "Vidrio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "Aluminio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Administrar cola" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "En cola" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Imprimiendo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Administrar impresoras" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Mover al principio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Borrar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Reanudar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "¿Seguro que desea mover %1 al principio de la cola?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Mover trabajo de impresión al principio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "¿Seguro que desea borrar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Borrar trabajo de impresión" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "¿Seguro que desea cancelar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Cancela la impresión" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "¿Seguro que desea cancelar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Cancelado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Preparando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Pausando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "En pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Reanudando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Acción requerida" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Conecta a una impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Carga la configuración de la impresora en Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activar configuración" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Carga la configuración de la impresora en Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2143,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Secuencias de comandos de posprocesamiento" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Añadir secuencia de comando" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Cambia las secuencias de comandos de posprocesamiento" @@ -2194,23 +2278,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modificar ajustes del relleno de otros modelos" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Seleccionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleccionar ajustes o personalizar este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar todo" @@ -2261,6 +2345,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Grupo de impresoras" @@ -2278,6 +2363,7 @@ msgstr "¿Cómo debería solucionarse el conflicto en el perfil?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2438,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Abrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Anterior" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exportar" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Siguiente" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Consejo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 h 00 min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Especificación de costes" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 m/~ %2 g/~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 m/~ %2 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Ensayo de impresión" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista de verificación" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2479,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Mover a la siguiente posición" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Actualización de firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "El firmware es la parte del software que se ejecuta directamente en la impresora 3D. Este firmware controla los motores de pasos, regula la temperatura y, finalmente, hace que funcione la impresora." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "El firmware que se envía con las nuevas impresoras funciona, pero las nuevas versiones suelen tener más funciones y mejoras." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Actualización de firmware automática" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Cargar firmware personalizado" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Seleccionar firmware personalizado" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2666,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Ha personalizado parte de los ajustes del perfil.\n" -"¿Desea descartar los cambios o guardarlos?" +msgstr "Ha personalizado parte de los ajustes del perfil.\n¿Desea descartar los cambios o guardarlos?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2686,7 +2664,7 @@ msgid "Customized" msgstr "Valor personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Preguntar siempre" @@ -2834,6 +2812,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importar" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exportar" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2903,283 @@ msgid "Unit" msgstr "Unidad" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "General" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interfaz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Moneda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Tendrá que reiniciar la aplicación para que estos cambios tengan efecto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Segmentar automáticamente al cambiar los ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Segmentar automáticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamiento de la ventanilla" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Resaltar en rojo las áreas del modelo sin soporte. Sin soporte, estas áreas no se imprimirán correctamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Mostrar voladizos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Mueve la cámara de manera que el modelo se encuentre en el centro de la vista cuando se selecciona un modelo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrar cámara cuando se selecciona elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "¿Se debería invertir el comportamiento predeterminado del zoom de cura?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Invertir la dirección del zoom de la cámara." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "¿Debería moverse el zoom en la dirección del ratón?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Hacer zoom en la dirección del ratón" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "¿Deben moverse los modelos en la plataforma de modo que no se crucen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Asegúrese de que lo modelos están separados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "¿Deben moverse los modelos del área de impresión de modo que no toquen la placa de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Arrastrar modelos a la placa de impresión de forma automática" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Se muestra el mensaje de advertencia en el lector de GCode." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Mensaje de advertencia en el lector de GCode" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "¿Debe forzarse el modo de compatibilidad de la capa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzar modo de compatibilidad de la vista de capas (necesario reiniciar)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrir y guardar archivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "¿Deben ajustarse los modelos al volumen de impresión si son demasiado grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Escalar modelos de gran tamaño" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modelo puede mostrarse demasiado pequeño si su unidad son metros en lugar de milímetros, por ejemplo. ¿Deben escalarse estos modelos?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Escalar modelos demasiado pequeños" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "¿Se deberían seleccionar los modelos después de haberse cargado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Seleccionar modelos al abrirlos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "¿Debe añadirse automáticamente un prefijo basado en el nombre de la impresora al nombre del trabajo de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Agregar prefijo de la máquina al nombre del trabajo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "¿Mostrar un resumen al guardar un archivo de proyecto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Mostrar un cuadro de diálogo de resumen al guardar el proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamiento predeterminado al abrir un archivo del proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamiento predeterminado al abrir un archivo del proyecto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Preguntar siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Abrir siempre como un proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importar modelos siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Si ha realizado cambios en un perfil y, a continuación, ha cambiado a otro, aparecerá un cuadro de diálogo que le preguntará si desea guardar o descartar los cambios. También puede elegir el comportamiento predeterminado, así ese cuadro de diálogo no volverá a aparecer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Perfiles" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamiento predeterminado para los valores modificados al cambiar a otro perfil: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Descartar siempre los ajustes modificados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Transferir siempre los ajustes modificados al nuevo perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacidad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "¿Debe Cura buscar actualizaciones cuando se abre el programa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Buscar actualizaciones al iniciar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "¿Deben enviarse datos anónimos sobre la impresión a Ultimaker? Tenga en cuenta que no se envían ni almacenan modelos, direcciones IP ni otra información de identificación personal." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar información (anónima) de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Más información" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utilizar funcionalidad de placa de impresión múltiple" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utilizar funcionalidad de placa de impresión múltiple (reinicio requerido)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Impresoras" @@ -3217,7 +3201,7 @@ msgid "Connection:" msgstr "Conexión:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La impresora no está conectada." @@ -3243,7 +3227,7 @@ msgid "Aborting print..." msgstr "Cancelando impresión..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfiles" @@ -3324,17 +3308,17 @@ msgid "Global Settings" msgstr "Ajustes globales" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Agregar impresora" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nombre de la impresora:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Agregar impresora" @@ -3349,121 +3333,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Acerca de Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versión: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Solución completa para la impresión 3D de filamento fundido." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n" -"Cura se enorgullece de utilizar los siguientes proyectos de código abierto:" +msgstr "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\nCura se enorgullece de utilizar los siguientes proyectos de código abierto:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interfaz gráfica de usuario (GUI)" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Entorno de la aplicación" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Generador de GCode" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Biblioteca de comunicación entre procesos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Lenguaje de programación" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Entorno de la GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Enlaces del entorno de la GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Biblioteca de enlaces C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato de intercambio de datos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Biblioteca de apoyo para cálculos científicos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Biblioteca de apoyo para cálculos más rápidos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Biblioteca de apoyo para gestionar archivos STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "Biblioteca de compatibilidad para trabajar con objetos planos" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "Biblioteca de compatibilidad para trabajar con mallas triangulares" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "Biblioteca de compatibilidad para analizar redes complejas" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Biblioteca de compatibilidad para trabajar con archivos 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "Biblioteca de compatibilidad para metadatos y transmisión de archivos" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Biblioteca de comunicación en serie" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Biblioteca de detección para Zeroconf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Biblioteca de recorte de polígonos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Biblioteca HTTP de Python" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Fuente" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Iconos SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Implementación de la aplicación de distribución múltiple de Linux" @@ -3473,73 +3475,67 @@ msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n" -"\n" -"Haga clic para abrir el administrador de perfiles." +msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Buscar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor en todos los extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copiar todos los valores cambiados en todos los extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "No mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar visibilidad de los ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Contraer todo" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Ampliar todo" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n" -"\n" -"Haga clic para mostrar estos ajustes." +msgstr "Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n\nHaga clic para mostrar estos ajustes." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3551,37 +3547,31 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Afectado por" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Este ajuste siempre se comparte entre extrusores. Si lo modifica, modificará el valor de todos los extrusores." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "El valor se resuelve según los valores de los extrusores. " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Este ajuste tiene un valor distinto del perfil.\n" -"\n" -"Haga clic para restaurar el valor del perfil." +msgstr "Este ajuste tiene un valor distinto del perfil.\n\nHaga clic para restaurar el valor del perfil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n" -"\n" -"Haga clic para restaurar el valor calculado." +msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3727,12 +3717,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Posición de la cámara" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "P&laca de impresión" @@ -3742,12 +3732,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Ajustes visibles" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostrar todos los ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gestionar visibilidad de los ajustes..." @@ -3806,21 +3796,46 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Ajustes de impresión deshabilitados\n" -"No se pueden modificar los archivos GCode" +msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 h 00 min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Especificación de tiempos" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Especificación de costes" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup{model_names}
\n" "Find out how to ensure the best possible print quality and reliability.
\n" "" -msgstr "" -"Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :
\n" -"{model_names}
\n" -"Découvrez comment optimiser la qualité et la fiabilité de l'impression.
\n" -"Consultez le guide de qualité d'impression
" +msgstr "Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :
\n{model_names}
\nDécouvrez comment optimiser la qualité et la fiabilité de l'impression.
\nConsultez le guide de qualité d'impression
" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Afficher le récapitulatif des changements" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "Mettre à jour le firmware" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +86,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Le profil a été aplati et activé." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impression par USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimer via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimer via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Connecté via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Une impression USB est en cours, la fermeture de Cura arrêtera cette impression. Êtes-vous sûr ?" @@ -137,7 +138,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter ne prend pas en charge le mode texte." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Format Package" @@ -159,7 +160,7 @@ msgid "Save to Removable Drive {0}" msgstr "Enregistrer sur un lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Aucun format de fichier n'est disponible pour écriture !" @@ -198,7 +199,7 @@ msgstr "Impossible d'enregistrer sur le lecteur {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Erreur" @@ -227,8 +228,8 @@ msgstr "Ejecter le lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Avertissement" @@ -255,141 +256,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Lecteur amovible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connecté sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Connecté sur le réseau. Veuillez approuver la demande d'accès sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Connecté sur le réseau. Pas d'accès pour commander l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Accès à l'imprimante demandé. Veuillez approuver la demande sur l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Statut d'authentification" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Statut d'authentification" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Réessayer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Renvoyer la demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accès à l'imprimante accepté" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Aucun accès pour imprimer avec cette imprimante. Impossible d'envoyer la tâche d'impression." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envoyer la demande d'accès à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Impossible de démarrer une nouvelle tâche d'impression." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Un problème avec la configuration de votre Ultimaker empêche le démarrage de l'impression. Veuillez résoudre ce problème avant de continuer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuration différente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Êtes-vous sûr(e) de vouloir imprimer avec la configuration sélectionnée ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Problème de compatibilité entre la configuration ou l'étalonnage de l'imprimante et Cura. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Envoi de nouvelles tâches (temporairement) bloqué, envoi de la tâche d'impression précédente en cours." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Envoi des données à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Envoi des données" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +395,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Pas de PrintCore inséré dans la fente {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Aucun matériau inséré dans la fente {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore différent (Cura : {cura_printcore_name}, Imprimante : {remote_printcore_name}) sélectionné pour l'extrudeuse {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Matériau différent (Cura : {0}, Imprimante : {1}) sélectionné pour l'extrudeuse {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniser avec votre imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Voulez-vous utiliser votre configuration d'imprimante actuelle dans Cura ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Les PrintCores et / ou matériaux sur votre imprimante diffèrent de ceux de votre projet actuel. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Connecté sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "L'envoi de la tâche d'impression à l'imprimante a réussi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Données envoyées" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Afficher sur le moniteur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} a terminé d'imprimer '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "La tâche d'impression '{job_name}' est terminée." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impression terminée" @@ -480,49 +476,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Connecter via le réseau" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Surveiller" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Impossible d'accéder aux informations de mise à jour." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "De nouvelles fonctionnalités sont disponibles pour votre {machine_name} ! Il est recommandé de mettre à jour le firmware sur votre imprimante." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nouveau firmware %s disponible" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Comment effectuer la mise à jour" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Impossible d'accéder aux informations de mise à jour." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Vue en couches" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura n'affiche pas les couches avec précision lorsque l'impression filaire est activée" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vue simulation" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modifier le G-Code" @@ -536,32 +532,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Créer un volume dans lequel les supports ne sont pas imprimés." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura recueille des statistiques d'utilisation anonymes." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Collecte des données" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Plus d'informations" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Voir plus d'informations sur les données envoyées par Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Autoriser" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Autoriser Cura à envoyer des statistiques d'utilisation anonymes pour mieux prioriser les améliorations futures apportées à Cura. Certaines de vos préférences et paramètres sont envoyés, ainsi que la version du logiciel Cura et un hachage des modèles que vous découpez." @@ -596,56 +592,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Image GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Impossible de découper le matériau actuel, car celui-ci est incompatible avec la machine ou la configuration sélectionnée." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Impossible de découper" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossible de couper avec les paramètres actuels. Les paramètres suivants contiennent des erreurs : {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Impossible de couper en raison de certains paramètres par modèle. Les paramètres suivants contiennent des erreurs sur un ou plusieurs modèles : {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossible de couper car la tour primaire ou la (les) position(s) d'amorçage ne sont pas valides." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Impossible de couper car il existe des objets associés à l'extrudeuse désactivée %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Rien à couper car aucun des modèles ne convient au volume d'impression. Mettez à l'échelle ou faites pivoter les modèles pour les faire correspondre." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Traitement des couches" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informations" @@ -661,13 +657,13 @@ msgid "Configure Per Model Settings" msgstr "Configurer les paramètres par modèle" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommandé" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personnalisé" @@ -679,7 +675,7 @@ msgid "3MF File" msgstr "Fichier 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Buse" @@ -705,18 +701,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Fichier G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analyse du G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Détails G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Assurez-vous que le g-code est adapté à votre imprimante et à la configuration de l'imprimante avant d'y envoyer le fichier. La représentation du g-code peut ne pas être exacte." @@ -727,16 +723,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profil Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistant de profil" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistant de profil" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +744,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Sélectionner les mises à niveau" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Mise à niveau du firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +754,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivellement du plateau" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Paroi externe" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Parois internes" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Couche extérieure" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Remplissage" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Remplissage du support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interface du support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Jupe" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Déplacement" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Rétractions" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Autre" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Inconnu" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Fichier {0} prédécoupé" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "La connexion a échoué" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Le fichier existe déjà" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tagBackups can be found in the configuration folder.
\n" "Please send us this Crash Report to fix the problem.
\n" " " -msgstr "" -"Oups, un problème est survenu dans Ultimaker Cura.
\n" -"Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.
\n" -"Les sauvegardes se trouvent dans le dossier de configuration.
\n" -"Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.
\n" -" " +msgstr "Oups, un problème est survenu dans Ultimaker Cura.
\nUne erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.
\nLes sauvegardes se trouvent dans le dossier de configuration.
\nVeuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1102,7 @@ msgid "" "A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" "Please use the \"Send report\" button to post a bug report automatically to our servers
\n" " " -msgstr "" -"Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème
\n" -"Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs
\n" -" " +msgstr "Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème
\nVeuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1199,40 +1182,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Envoyer rapport" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Chargement des machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Préparation de la scène..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Chargement de l'interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Un seul fichier G-Code peut être chargé à la fois. Importation de {0} sautée" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Impossible d'ouvrir un autre fichier si le G-Code est en cours de chargement. Importation de {0} sautée" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Le modèle sélectionné était trop petit pour être chargé." @@ -1263,9 +1246,9 @@ msgstr "X (Largeur)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1383,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Le diamètre nominal de filament pris en charge par l'imprimante. Le diamètre exact sera remplacé par le matériau et / ou le profil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Décalage buse X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Décalage buse Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "Numéro du ventilateur de refroidissement" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Extrudeuse G-Code de démarrage" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Extrudeuse G-Code de fin" @@ -1436,41 +1429,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Impossible de se connecter à la base de données Cura Package. Veuillez vérifier votre connexion." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plug-ins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Matériaux" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Version" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Dernière mise à jour" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Auteur" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Téléchargements" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Inconnu" @@ -1505,8 +1499,8 @@ msgstr "Précédent" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirmer la désinstallation " +msgid "Confirm uninstall" +msgstr "Confirmer la désinstallation" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1547,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Matériaux génériques" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installé" @@ -1584,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Ce plug-in contient une licence.\n" -"Vous devez approuver cette licence pour installer ce plug-in.\n" -"Acceptez-vous les clauses ci-dessous ?" +msgstr "Ce plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1635,48 +1626,88 @@ msgid "Changelog" msgstr "Récapitulatif des changements" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Fermer" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "Mettre à jour le firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Le firmware est le logiciel fonctionnant directement dans votre imprimante 3D. Ce firmware contrôle les moteurs pas à pas, régule la température et surtout, fait que votre machine fonctionne." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Le firmware fourni avec les nouvelles imprimantes fonctionne, mais les nouvelles versions ont tendance à fournir davantage de fonctionnalités ainsi que des améliorations." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Mise à niveau automatique du firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Charger le firmware personnalisé" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "Impossible de se connecter à l'imprimante ; échec de la mise à jour du firmware." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "Échec de la mise à jour du firmware, car cette fonctionnalité n'est pas prise en charge par la connexion avec l'imprimante." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Sélectionner le firmware personnalisé" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Mise à jour du firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Mise à jour du firmware en cours." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Mise à jour du firmware terminée." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur inconnue." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur de communication." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur d'entrée/de sortie." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Échec de la mise à jour du firmware en raison du firmware manquant." @@ -1686,44 +1717,41 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Accord utilisateur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Connexion existante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Ce groupe / cette imprimante a déjà été ajouté à Cura. Veuillez sélectionner un autre groupe / imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connecter à l'imprimante en réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n" -"\n" -"Sélectionnez votre imprimante dans la liste ci-dessous :" +msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Ajouter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Modifier" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1759,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Supprimer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Rafraîchir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si votre imprimante n'apparaît pas dans la liste, lisez le guide de dépannage de l'impression en réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Version du firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Cette imprimante n'est pas configurée pour héberger un groupe d'imprimantes." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Cette imprimante est l'hôte d'un groupe d'imprimantes %1." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "L'imprimante à cette adresse n'a pas encore répondu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Connecter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Adresse de l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Saisissez l'adresse IP ou le nom d'hôte de votre imprimante sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimer sur le réseau" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Sélection d'imprimantes" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimer sur le réseau" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "En attente : imprimante non disponible" +msgid "Printer selection" +msgstr "Sélection d'imprimantes" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "En attente : première imprimante disponible" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "En attente : " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Déplacer l'impression en haut" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Déplacer l'impression en haut de la file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Êtes-vous sûr de vouloir déplacer %1 en haut de la file d'attente ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Effacer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Supprimer l'impression" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Êtes-vous sûr de vouloir supprimer %1 ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gérer la file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Mis en file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Impression" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gérer les imprimantes" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Non disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Injoignable" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Abandonné" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminé" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Préparation" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Mise en pause" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Reprise" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Action requise" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "En attente : imprimante non disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "En attente : première imprimante disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "En attente : " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "Modification des configurations" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "L'imprimante assignée, %1, nécessite d'apporter la ou les modifications suivantes à la configuration :" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "L'imprimante %1 est assignée, mais le projet contient une configuration matérielle inconnue." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "Changer le matériau %1 de %2 à %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "Charger %3 comme matériau %1 (Ceci ne peut pas être remplacé)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "Changer le print core %1 de %2 à %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "Changer le plateau en %1 (Ceci ne peut pas être remplacé)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "Remplacer" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "Le fait de démarrer un travail d'impression avec une configuration incompatible peut endommager votre imprimante 3D. Êtes-vous sûr de vouloir remplacer la configuration et imprimer %1 ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "Remplacer la configuration et lancer l'impression" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "Verre" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "Aluminium" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gérer la file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Mis en file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Impression" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gérer les imprimantes" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Déplacer l'impression en haut" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Effacer" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Reprendre" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pause" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Abandonner" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Êtes-vous sûr de vouloir déplacer %1 en haut de la file d'attente ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Déplacer l'impression en haut de la file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Êtes-vous sûr de vouloir supprimer %1 ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Supprimer l'impression" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Êtes-vous sûr de vouloir annuler %1 ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Abandonner l'impression" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Êtes-vous sûr de vouloir annuler %1 ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Abandonné" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminé" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Préparation" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Mise en pause" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "En pause" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Reprise" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Action requise" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Connecter à une imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Charger la configuration de l'imprimante dans Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activer la configuration" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Charger la configuration de l'imprimante dans Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2143,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Scripts de post-traitement" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Ajouter un script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Paramètres" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifier les scripts de post-traitement actifs" @@ -2194,23 +2278,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modifier les paramètres de remplissage d'autres modèles" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Sélectionner les paramètres" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Sélectionner les paramètres pour personnaliser ce modèle" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrer..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Afficher tout" @@ -2261,6 +2345,7 @@ msgid "Type" msgstr "Type" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Groupe d'imprimantes" @@ -2278,6 +2363,7 @@ msgstr "Comment le conflit du profil doit-il être résolu ?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2438,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Ouvrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Précédent" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exporter" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Suivant" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Astuce" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Spécification de coût" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total :" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Test d'impression" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Liste de contrôle" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2479,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Aller à la position suivante" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Mise à niveau du firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Le firmware est le logiciel fonctionnant directement dans votre imprimante 3D. Ce firmware contrôle les moteurs pas à pas, régule la température et surtout, fait que votre machine fonctionne." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Le firmware fourni avec les nouvelles imprimantes fonctionne, mais les nouvelles versions ont tendance à fournir davantage de fonctionnalités ainsi que des améliorations." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Mise à niveau automatique du firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Charger le firmware personnalisé" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Sélectionner le firmware personnalisé" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2666,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Vous avez personnalisé certains paramètres du profil.\n" -"Souhaitez-vous conserver ces changements, ou les annuler ?" +msgstr "Vous avez personnalisé certains paramètres du profil.\nSouhaitez-vous conserver ces changements, ou les annuler ?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2686,7 +2664,7 @@ msgid "Customized" msgstr "Personnalisé" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Toujours me demander" @@ -2834,6 +2812,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importer" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exporter" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2903,283 @@ msgid "Unit" msgstr "Unité" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Général" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Langue :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Devise :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Thème :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Vous devez redémarrer l'application pour que ces changements prennent effet." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Découper automatiquement si les paramètres sont modifiés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Découper automatiquement" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportement Viewport" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Surligne les parties non supportées du modèle en rouge. Sans ajouter de support, ces zones ne s'imprimeront pas correctement." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Mettre en surbrillance les porte-à-faux" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Déplace la caméra afin que le modèle sélectionné se trouve au centre de la vue" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrer la caméra lorsqu'un élément est sélectionné" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Le comportement de zoom par défaut de Cura doit-il être inversé ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverser la direction du zoom de la caméra." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Le zoom doit-il se faire dans la direction de la souris ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomer vers la direction de la souris" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Les modèles dans la zone d'impression doivent-ils être déplacés afin de ne plus se croiser ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Veillez à ce que les modèles restent séparés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Les modèles dans la zone d'impression doivent-ils être abaissés afin de toucher le plateau ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Abaisser automatiquement les modèles sur le plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Afficher le message d'avertissement dans le lecteur G-Code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Message d'avertissement dans le lecteur G-Code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "La couche doit-elle être forcée en mode de compatibilité ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forcer l'affichage de la couche en mode de compatibilité (redémarrage requis)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Ouvrir et enregistrer des fichiers" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Les modèles doivent-ils être mis à l'échelle du volume d'impression s'ils sont trop grands ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Réduire la taille des modèles trop grands" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modèle peut apparaître en tout petit si son unité est par exemple en mètres plutôt qu'en millimètres. Ces modèles doivent-ils être agrandis ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Mettre à l'échelle les modèles extrêmement petits" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Les modèles doivent-ils être sélectionnés après leur chargement ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Sélectionner les modèles lorsqu'ils sont chargés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Un préfixe basé sur le nom de l'imprimante doit-il être automatiquement ajouté au nom de la tâche d'impression ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Ajouter le préfixe de la machine au nom de la tâche" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Un résumé doit-il être affiché lors de l'enregistrement d'un fichier de projet ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Afficher la boîte de dialogue du résumé lors de l'enregistrement du projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet : " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Toujours me demander" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Toujours ouvrir comme projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Toujours importer les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Lorsque vous apportez des modifications à un profil puis passez à un autre profil, une boîte de dialogue apparaît, vous demandant si vous souhaitez conserver les modifications. Vous pouvez aussi choisir une option par défaut, et le dialogue ne s'affichera plus." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profils" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportement par défaut pour les valeurs de paramètres modifiées lors du passage à un profil différent : " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Toujours rejeter les paramètres modifiés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Toujours transférer les paramètres modifiés dans le nouveau profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Confidentialité" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura doit-il vérifier les mises à jour au démarrage du programme ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Vérifier les mises à jour au démarrage" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Les données anonymes de votre impression doivent-elles être envoyées à Ultimaker ? Notez qu'aucun modèle, aucune adresse IP ni aucune autre information permettant de vous identifier personnellement ne seront envoyés ou stockés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Envoyer des informations (anonymes) sur l'impression" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Plus d'informations" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Expérimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utiliser la fonctionnalité multi-plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utiliser la fonctionnalité multi-plateau (redémarrage requis)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Imprimantes" @@ -3217,7 +3201,7 @@ msgid "Connection:" msgstr "Connexion :" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "L'imprimante n'est pas connectée." @@ -3243,7 +3227,7 @@ msgid "Aborting print..." msgstr "Abandon de l'impression..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profils" @@ -3324,17 +3308,17 @@ msgid "Global Settings" msgstr "Paramètres généraux" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Ajouter une imprimante" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nom de l'imprimante :" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Ajouter une imprimante" @@ -3349,121 +3333,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "À propos de Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "version : %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Solution complète pour l'impression 3D par dépôt de filament fondu." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n" -"Cura est fier d'utiliser les projets open source suivants :" +msgstr "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\nCura est fier d'utiliser les projets open source suivants :" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interface utilisateur graphique" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Cadre d'application" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Générateur G-Code" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Bibliothèque de communication interprocess" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Langage de programmation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Cadre IUG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Liens cadre IUG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Bibliothèque C/C++ Binding" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Format d'échange de données" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Prise en charge de la bibliothèque pour le calcul scientifique" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Prise en charge de la bibliothèque pour des maths plus rapides" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "Prise en charge de la bibliothèque pour le traitement des objets planaires" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "Prise en charge de la bibliothèque pour le traitement des mailles triangulaires" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "Prise en charge de la bibliothèque pour l'analyse de réseaux complexes" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "Prise en charge de la bibliothèque pour les métadonnées et le streaming de fichiers" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Bibliothèque de communication série" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Bibliothèque de découverte ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Bibliothèque de découpe polygone" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Bibliothèque Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Police" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Icônes SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Déploiement d'applications sur multiples distributions Linux" @@ -3473,73 +3475,67 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil :" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n" -"\n" -"Cliquez pour ouvrir le gestionnaire de profils." +msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Rechercher..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copier la valeur vers tous les extrudeurs" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copier toutes les valeurs modifiées vers toutes les extrudeuses" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Afficher ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurer la visibilité des paramètres..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Réduire tout" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Développer tout" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n" -"\n" -"Cliquez pour rendre ces paramètres visibles." +msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n\nCliquez pour rendre ces paramètres visibles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3551,37 +3547,31 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Touché par" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Ce paramètre est toujours partagé par toutes les extrudeuses. Le modifier ici entraînera la modification de la valeur pour toutes les extrudeuses." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "La valeur est résolue à partir des valeurs par extrudeur " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Ce paramètre possède une valeur qui est différente du profil.\n" -"\n" -"Cliquez pour restaurer la valeur du profil." +msgstr "Ce paramètre possède une valeur qui est différente du profil.\n\nCliquez pour restaurer la valeur du profil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n" -"\n" -"Cliquez pour restaurer la valeur calculée." +msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3727,12 +3717,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Visualisation" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "Position de la &caméra" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Plateau" @@ -3742,12 +3732,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Paramètres visibles" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Afficher tous les paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gérer la visibilité des paramètres..." @@ -3806,21 +3796,46 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Configuration de l'impression désactivée\n" -"Les fichiers G-Code ne peuvent pas être modifiés" +msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Spécification de temps" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Spécification de coût" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total :" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup{model_names}
\n" "Find out how to ensure the best possible print quality and reliability.
\n" "" -msgstr "" -"La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:
\n" -"{model_names}
\n" -"Scopri come garantire la migliore qualità ed affidabilità di stampa.
\n" -"Visualizza la guida alla qualità di stampa
" +msgstr "La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:
\n{model_names}
\nScopri come garantire la migliore qualità ed affidabilità di stampa.
\nVisualizza la guida alla qualità di stampa
" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Visualizza registro modifiche" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "Aggiornamento firmware" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +86,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Il profilo è stato appiattito e attivato." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Stampa USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Stampa tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Stampa tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Connesso tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Stampa tramite USB in corso, la chiusura di Cura interrompe la stampa. Confermare?" @@ -137,7 +138,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter non supporta la modalità di testo." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Pacchetto formato Ultimaker" @@ -159,7 +160,7 @@ msgid "Save to Removable Drive {0}" msgstr "Salva su unità rimovibile {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Non ci sono formati di file disponibili per la scrittura!" @@ -198,7 +199,7 @@ msgstr "Impossibile salvare su unità rimovibile {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Errore" @@ -227,8 +228,8 @@ msgstr "Rimuovi il dispositivo rimovibile {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Avvertenza" @@ -255,141 +256,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unità rimovibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Collegato alla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Collegato alla rete. Si prega di approvare la richiesta di accesso sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Collegato alla rete. Nessun accesso per controllare la stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Richiesto accesso alla stampante. Approvare la richiesta sulla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Stato di autenticazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Stato di autenticazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Riprova" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Invia nuovamente la richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accesso alla stampante accettato" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Nessun accesso per stampare con questa stampante. Impossibile inviare il processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Invia la richiesta di accesso alla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Impossibile avviare un nuovo processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "È presente un problema di configurazione della stampante che rende impossibile l’avvio della stampa. Risolvere il problema prima di continuare." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mancata corrispondenza della configurazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Sei sicuro di voler stampare con la configurazione selezionata?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Le configurazioni o la calibrazione della stampante e di Cura non corrispondono. Per ottenere i migliori risultati, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Invio nuovi processi (temporaneamente) bloccato, invio in corso precedente processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Invio dati alla stampante in corso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Invio dati" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +395,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Nessun PrintCore caricato nello slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Nessun materiale caricato nello slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore diverso (Cura: {cura_printcore_name}, Stampante: {remote_printcore_name}) selezionata per estrusore {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Materiale diverso (Cura: {0}, Stampante: {1}) selezionato per l’estrusore {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizzazione con la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Desideri utilizzare la configurazione corrente della tua stampante in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "I PrintCore e/o i materiali sulla stampante differiscono da quelli contenuti nel tuo attuale progetto. Per ottenere i risultati migliori, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Collegato alla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Processo di stampa inviato con successo alla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Dati inviati" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Visualizzazione in Controlla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "La stampante '{printer_name}' ha finito di stampare '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Il processo di stampa '{job_name}' è terminato." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Stampa finita" @@ -480,49 +476,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Collega tramite rete" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Controlla" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Non è possibile accedere alle informazioni di aggiornamento." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Sono disponibili nuove funzioni per la {machine_name}! Si consiglia di aggiornare il firmware sulla stampante." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nuovo firmware %s disponibile" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Modalità di aggiornamento" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Non è possibile accedere alle informazioni di aggiornamento." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Visualizzazione strato" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura non visualizza in modo accurato gli strati se la funzione Wire Printing è abilitata" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vista simulazione" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modifica G-code" @@ -536,32 +532,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Crea un volume in cui i supporti non vengono stampati." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura raccoglie statistiche di utilizzo in forma anonima." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Acquisizione dati" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Per saperne di più" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Vedere ulteriori informazioni sui dati inviati da Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Consenti" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Consente a Cura di inviare in forma anonima statistiche d’uso, riguardanti alcune delle preferenze e impostazioni, la versione cura e una serie di modelli in sezionamento, per aiutare a dare priorità a miglioramenti futuri in Cura." @@ -596,56 +592,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Immagine GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Impossibile eseguire il sezionamento con il materiale corrente in quanto incompatibile con la macchina o la configurazione selezionata." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Sezionamento impossibile" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossibile eseguire il sezionamento con le impostazioni attuali. Le seguenti impostazioni presentano errori: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Impossibile eseguire il sezionamento a causa di alcune impostazioni per modello. Le seguenti impostazioni presentano errori su uno o più modelli: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossibile eseguire il sezionamento perché la torre di innesco o la posizione di innesco non sono valide." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Impossibile effettuare il sezionamento in quanto vi sono oggetti associati a Extruder %s disabilitato." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nulla da sezionare in quanto nessuno dei modelli corrisponde al volume di stampa. Ridimensionare o ruotare i modelli secondo necessità." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Elaborazione dei livelli" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informazioni" @@ -661,13 +657,13 @@ msgid "Configure Per Model Settings" msgstr "Configura impostazioni per modello" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Consigliata" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizzata" @@ -679,7 +675,7 @@ msgid "3MF File" msgstr "File 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Ugello" @@ -705,18 +701,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "File G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing codice G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Dettagli codice G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Verifica che il codice G sia idoneo alla tua stampante e alla sua configurazione prima di trasmettere il file. La rappresentazione del codice G potrebbe non essere accurata." @@ -727,16 +723,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profilo Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistente profilo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistente profilo" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +744,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Seleziona aggiornamenti" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Aggiorna firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +754,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Livella piano di stampa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Parete esterna" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Pareti interne" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Rivestimento esterno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Riempimento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Riempimento del supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interfaccia supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Spostamenti" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retrazioni" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Altro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Sconosciuto" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "File pre-sezionato {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "Login non riuscito" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Il file esiste già" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tagBackups can be found in the configuration folder.
\n" "Please send us this Crash Report to fix the problem.
\n" " " -msgstr "" -"Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.
\n" -"Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.
\n" -"I backup sono contenuti nella cartella configurazione.
\n" -"Si prega di inviare questo Rapporto su crash per correggere il problema.
\n" -" " +msgstr "Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.
\nAbbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.
\nI backup sono contenuti nella cartella configurazione.
\nSi prega di inviare questo Rapporto su crash per correggere il problema.
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1102,7 @@ msgid "" "A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" "Please use the \"Send report\" button to post a bug report automatically to our servers
\n" " " -msgstr "" -"Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema
\n" -"Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server
\n" -" " +msgstr "Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema
\nUsare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server
\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1199,40 +1182,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Invia report" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Caricamento macchine in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Impostazione scena in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Caricamento interfaccia in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "È possibile caricare un solo file codice G per volta. Importazione saltata {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Impossibile aprire altri file durante il caricamento del codice G. Importazione saltata {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Il modello selezionato è troppo piccolo per il caricamento." @@ -1263,9 +1246,9 @@ msgstr "X (Larghezza)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1383,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Diametro nominale del filamento supportato dalla stampante. Il diametro esatto verrà sovrapposto dal materiale e/o dal profilo." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Scostamento X ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Scostamento Y ugello" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "Numero ventola di raffreddamento" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Codice G avvio estrusore" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Codice G fine estrusore" @@ -1436,41 +1429,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Impossibile connettersi al database pacchetto Cura. Verificare la connessione." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plugin" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiali" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versione" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Ultimo aggiornamento" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autore" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Download" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Sconosciuto" @@ -1505,8 +1499,8 @@ msgstr "Indietro" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Conferma disinstalla " +msgid "Confirm uninstall" +msgstr "Conferma disinstalla" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1547,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiali generici" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installa" @@ -1584,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Questo plugin contiene una licenza.\n" -"È necessario accettare questa licenza per poter installare il plugin.\n" -"Accetti i termini sotto riportati?" +msgstr "Questo plugin contiene una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1635,48 +1626,88 @@ msgid "Changelog" msgstr "Registro modifiche" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Chiudi" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "Aggiornamento firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Il firmware è la parte di software eseguita direttamente sulla stampante 3D. Questo firmware controlla i motori passo-passo, regola la temperatura e, in ultima analisi, consente il funzionamento della stampante." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Il firmware inviato a corredo delle nuove stampanti funziona, tuttavia le nuove versioni tendono ad avere più funzioni ed ottimizzazioni." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Aggiorna automaticamente il firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Carica il firmware personalizzato" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "Impossibile aggiornare il firmware: nessun collegamento con la stampante." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "Impossibile aggiornare il firmware: il collegamento con la stampante non supporta l’aggiornamento del firmware." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Seleziona il firmware personalizzato" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Aggiornamento del firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Aggiornamento firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Aggiornamento del firmware completato." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Aggiornamento firmware non riuscito a causa di un errore sconosciuto." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Aggiornamento firmware non riuscito a causa di un errore di comunicazione." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Aggiornamento firmware non riuscito a causa di un errore di input/output." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Aggiornamento firmware non riuscito per firmware mancante." @@ -1686,44 +1717,41 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Contratto di licenza" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Collegamento esistente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Stampante/gruppo già aggiunto a Cura. Selezionare un’altra stampante o un altro gruppo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Collega alla stampante in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n" -"\n" -"Selezionare la stampante dall’elenco seguente:" +msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dall’elenco seguente:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Aggiungi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Modifica" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1759,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Rimuovi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Aggiorna" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se la stampante non è nell’elenco, leggere la guida alla risoluzione dei problemi per la stampa in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versione firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Indirizzo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Questa stampante non è predisposta per comandare un gruppo di stampanti." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Questa stampante comanda un gruppo di %1 stampanti." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La stampante a questo indirizzo non ha ancora risposto." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Collega" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Indirizzo stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Inserire l’indirizzo IP o l’hostname della stampante sulla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Stampa sulla rete" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Selezione stampante" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Stampa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Stampa sulla rete" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "In attesa: stampante non disponibile" +msgid "Printer selection" +msgstr "Selezione stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "In attesa della prima disponibile" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "In attesa: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Sposta in alto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Sposta il processo di stampa in alto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Sei sicuro di voler spostare 1% all’inizio della coda?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Cancella" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Cancella processo di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Sei sicuro di voler cancellare %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gestione coda di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Coda di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Stampa in corso" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gestione stampanti" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Non disponibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Non raggiungibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Interrotto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminato" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparazione in corso" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Messa in pausa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Ripresa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Richiede un'azione" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "In attesa: stampante non disponibile" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "In attesa della prima disponibile" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "In attesa: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "Modifica configurazione" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "La stampante assegnata, %1, richiede le seguenti modifiche di configurazione:" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "La stampante %1 è assegnata, ma il processo contiene una configurazione materiale sconosciuta." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "Cambia materiale %1 da %2 a %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "Caricare %3 come materiale %1 (Operazione non annullabile)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "Cambia print core %1 da %2 a %3." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "Cambia piano di stampa a %1 (Operazione non annullabile)." + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "Override" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "L’avvio di un processo di stampa con una configurazione non compatibile potrebbe danneggiare la stampante 3D. Sei sicuro di voler annullare la configurazione e stampare %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "Annullare la configurazione e avviare la stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "Vetro" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "Alluminio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gestione coda di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Coda di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Stampa in corso" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gestione stampanti" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Sposta in alto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Cancella" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Riprendi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Interrompi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Sei sicuro di voler spostare 1% all’inizio della coda?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Sposta il processo di stampa in alto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Sei sicuro di voler cancellare %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Cancella processo di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Sei sicuro di voler interrompere %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Interrompi la stampa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Sei sicuro di voler interrompere %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Interrotto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminato" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Preparazione in corso" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Messa in pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "In pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Ripresa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Richiede un'azione" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Collega a una stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Carica la configurazione della stampante in Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Attiva la configurazione" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Carica la configurazione della stampante in Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2143,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Script di post-elaborazione" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Aggiungi uno script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Impostazioni" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifica script di post-elaborazione attivi" @@ -2194,23 +2278,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modifica impostazioni per riempimento di altri modelli" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Seleziona impostazioni" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleziona impostazioni di personalizzazione per questo modello" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtro..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostra tutto" @@ -2261,6 +2345,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Gruppo stampanti" @@ -2278,6 +2363,7 @@ msgstr "Come può essere risolto il conflitto nel profilo?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2438,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Apri" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Precedente" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Esporta" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Avanti" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Suggerimento" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Indicazione di costo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Totale:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Prova di stampa" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista di controllo" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2479,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Spostamento alla posizione successiva" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Aggiorna firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Il firmware è la parte di software eseguita direttamente sulla stampante 3D. Questo firmware controlla i motori passo-passo, regola la temperatura e, in ultima analisi, consente il funzionamento della stampante." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Il firmware inviato a corredo delle nuove stampanti funziona, tuttavia le nuove versioni tendono ad avere più funzioni ed ottimizzazioni." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Aggiorna automaticamente il firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Carica il firmware personalizzato" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Seleziona il firmware personalizzato" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2666,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sono state personalizzate alcune impostazioni del profilo.\n" -"Mantenere o eliminare tali impostazioni?" +msgstr "Sono state personalizzate alcune impostazioni del profilo.\nMantenere o eliminare tali impostazioni?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2686,7 +2664,7 @@ msgid "Customized" msgstr "Valore personalizzato" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Chiedi sempre" @@ -2834,6 +2812,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importa" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Esporta" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2903,283 @@ msgid "Unit" msgstr "Unità" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Generale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interfaccia" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Lingua:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Riavviare l'applicazione per rendere effettive le modifiche." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Seziona automaticamente alla modifica delle impostazioni." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Seziona automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento del riquadro di visualizzazione" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Evidenzia in rosso le zone non supportate del modello. In assenza di supporto, queste aree non saranno stampate in modo corretto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Visualizza sbalzo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Sposta la fotocamera in modo che il modello si trovi al centro della visualizzazione quando è selezionato" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centratura fotocamera alla selezione dell'elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Il comportamento dello zoom predefinito di Cura dovrebbe essere invertito?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverti la direzione dello zoom della fotocamera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Lo zoom si muove nella direzione del mouse?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoom verso la direzione del mouse" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "I modelli sull’area di stampa devono essere spostati per evitare intersezioni?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assicurarsi che i modelli siano mantenuti separati" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "I modelli sull’area di stampa devono essere portati a contatto del piano di stampa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Rilascia automaticamente i modelli sul piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Visualizza il messaggio di avvertimento sul lettore codice G." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Messaggio di avvertimento sul lettore codice G" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Lo strato deve essere forzato in modalità di compatibilità?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzare la modalità di compatibilità visualizzazione strato (riavvio necessario)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Apertura e salvataggio file" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "I modelli devono essere ridimensionati al volume di stampa, se troppo grandi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Ridimensiona i modelli troppo grandi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modello può apparire eccessivamente piccolo se la sua unità di misura è espressa in metri anziché in millimetri. Questi modelli devono essere aumentati?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Ridimensiona i modelli eccessivamente piccoli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "I modelli devono essere selezionati dopo essere stati caricati?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Selezionare i modelli dopo il caricamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Al nome del processo di stampa deve essere aggiunto automaticamente un prefisso basato sul nome della stampante?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Aggiungi al nome del processo un prefisso macchina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Quando si salva un file di progetto deve essere visualizzato un riepilogo?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Visualizza una finestra di riepilogo quando si salva un progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento predefinito all'apertura di un file progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento predefinito all'apertura di un file progetto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Chiedi sempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Apri sempre come progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importa sempre i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Dopo aver modificato un profilo ed essere passati a un altro, si apre una finestra di dialogo che chiede se mantenere o eliminare le modifiche oppure se scegliere un comportamento predefinito e non visualizzare più tale finestra di dialogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profili" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamento predefinito per i valori di impostazione modificati al passaggio a un profilo diverso: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Elimina sempre le impostazioni modificate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Trasferisci sempre le impostazioni modificate a un nuovo profilo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura deve verificare la presenza di eventuali aggiornamenti all’avvio del programma?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Controlla aggiornamenti all’avvio" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "I dati anonimi sulla stampa devono essere inviati a Ultimaker? Nota, non sono trasmessi o memorizzati modelli, indirizzi IP o altre informazioni personali." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Invia informazioni di stampa (anonime)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Ulteriori informazioni" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Sperimentale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utilizzare la funzionalità piano di stampa multiplo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utilizzare la funzionalità piano di stampa multiplo (necessario riavvio)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Stampanti" @@ -3217,7 +3201,7 @@ msgid "Connection:" msgstr "Collegamento:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La stampante non è collegata." @@ -3243,7 +3227,7 @@ msgid "Aborting print..." msgstr "Interruzione stampa in corso..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profili" @@ -3324,17 +3308,17 @@ msgid "Global Settings" msgstr "Impostazioni globali" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Aggiungi stampante" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nome stampante:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Aggiungi stampante" @@ -3349,121 +3333,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Informazioni su Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versione: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Soluzione end-to-end per la stampa 3D con filamento fuso." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n" -"Cura è orgogliosa di utilizzare i seguenti progetti open source:" +msgstr "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\nCura è orgogliosa di utilizzare i seguenti progetti open source:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interfaccia grafica utente" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Struttura applicazione" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Generatore codice G" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Libreria di comunicazione intra-processo" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Lingua di programmazione" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Struttura GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Vincoli struttura GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Libreria vincoli C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato scambio dati" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Libreria di supporto per calcolo scientifico" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Libreria di supporto per calcolo rapido" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Libreria di supporto per gestione file STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "Libreria di supporto per gestione oggetti planari" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "Libreria di supporto per gestione maglie triangolari" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "Libreria di supporto per l’analisi di reti complesse" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Libreria di supporto per gestione file 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "Libreria di supporto per metadati file e streaming" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Libreria di comunicazione seriale" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Libreria scoperta ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Libreria ritaglio poligono" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Libreria Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Font" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Icone SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Apertura applicazione distribuzione incrociata Linux" @@ -3473,73 +3475,67 @@ msgctxt "@label" msgid "Profile:" msgstr "Profilo:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n" -"\n" -"Fare clic per aprire la gestione profili." +msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Ricerca..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copia valore su tutti gli estrusori" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copia tutti i valori modificati su tutti gli estrusori" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mantieni visibile questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configura visibilità delle impostazioni..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Comprimi tutto" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Espandi tutto" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n" -"\n" -"Fare clic per rendere visibili queste impostazioni." +msgstr "Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n\nFare clic per rendere visibili queste impostazioni." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3551,37 +3547,31 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Influenzato da" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Questa impostazione è sempre condivisa tra tutti gli estrusori. La sua modifica varierà il valore per tutti gli estrusori." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Questo valore è risolto da valori per estrusore " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Questa impostazione ha un valore diverso dal profilo.\n" -"\n" -"Fare clic per ripristinare il valore del profilo." +msgstr "Questa impostazione ha un valore diverso dal profilo.\n\nFare clic per ripristinare il valore del profilo." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n" -"\n" -"Fare clic per ripristinare il valore calcolato." +msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3727,12 +3717,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Visualizza" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Posizione fotocamera" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "P&iano di stampa" @@ -3742,12 +3732,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Impostazioni visibili" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostra tutte le impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gestisci Impostazione visibilità..." @@ -3806,21 +3796,46 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Impostazione di stampa disabilitata\n" -"I file codice G non possono essere modificati" +msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Indicazioni di tempo" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Indicazione di costo" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Totale:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup