diff --git a/.gitignore b/.gitignore index bb6bd49add..3ee62405a2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,10 @@ resources/firmware resources/materials LC_MESSAGES .cache +*.qmlc + +#MacOS +.DS_Store # Editors and IDEs. *kdev* @@ -26,9 +30,6 @@ cura.desktop .pydevproject .settings -# Debian packaging -debian* - #Externally located plug-ins. plugins/Doodle3D-cura-plugin plugins/GodMode @@ -37,6 +38,7 @@ plugins/X3GWriter plugins/FlatProfileExporter plugins/ProfileFlattener plugins/cura-god-mode-plugin +plugins/cura-big-flame-graph #Build stuff CMakeCache.txt diff --git a/Jenkinsfile b/Jenkinsfile index 2c101b2183..7b45eafdf5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,9 +14,14 @@ parallel_nodes(['linux && cura', 'windows && cura']) { dir('build') { // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. stage('Build') { + def branch = env.BRANCH_NAME + if(!(branch =~ /^2.\d+$/)) { + branch = "master" + } + // Ensure CMake is setup. Note that since this is Python code we do not really "build" it. - def uranium_dir = get_workspace_dir("Ultimaker/Uranium/master") - cmake("..", "-DCMAKE_PREFIX_PATH=${env.CURA_ENVIRONMENT_PATH} -DCMAKE_BUILD_TYPE=Release -DURANIUM_DIR=${uranium_dir}") + def uranium_dir = get_workspace_dir("Ultimaker/Uranium/${branch}") + cmake("..", "-DCMAKE_PREFIX_PATH=${env.CURA_ENVIRONMENT_PATH}/${branch} -DCMAKE_BUILD_TYPE=Release -DURANIUM_DIR=${uranium_dir}") } // Try and run the unit tests. If this stage fails, we consider the build to be "unstable". diff --git a/README.md b/README.md index 28c0f13496..c1ebb0993b 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,11 @@ For crashes and similar issues, please attach the following information: * (On Windows) The log as produced by dxdiag (start -> run -> dxdiag -> save output) * The Cura GUI log file, located at - * $User/AppData/Local/cura/cura.log (Windows) - * $User/Library/Application Support/cura (OSX) - * $USER/.local/share/cura (Ubuntu/Linux) -* The Cura Engine log, using Help -> Show Engine Log + * %APPDATA%\cura\\``\cura.log (Windows), or usually C:\Users\\``\AppData\Roaming\cura\\``\cura.log + * $User/Library/Application Support/cura/``/cura.log (OSX) + * $USER/.local/share/cura/``/cura.log (Ubuntu/Linux) + +If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder Dependencies ------------ @@ -44,13 +45,13 @@ Please checkout [cura-build](https://github.com/Ultimaker/cura-build) Third party plugins ------------- -* [Print Cost Calculator](https://github.com/nallath/PrintCostCalculator): Calculates weight and monetary cost of your print. * [Post Processing Plugin](https://github.com/nallath/PostProcessingPlugin): Allows for post-processing scripts to run on g-code. * [Barbarian Plugin](https://github.com/nallath/BarbarianPlugin): Simple scale tool for imperial to metric. * [X3G Writer](https://github.com/Ghostkeeper/X3GWriter): Adds support for exporting X3G files. * [Auto orientation](https://github.com/nallath/CuraOrientationPlugin): Calculate the optimal orientation for a model. * [OctoPrint Plugin](https://github.com/fieldofview/OctoPrintPlugin): Send printjobs directly to OctoPrint and monitor their progress in Cura. * [WirelessPrinting Plugin](https://github.com/probonopd/WirelessPrinting): Print wirelessly from Cura to your 3D printer connected to an ESP8266 module. +* [Electric Print Cost Calculator Plugin](https://github.com/zoff99/ElectricPrintCostCalculator): Calculate the electric costs of a print. Making profiles for other printers ---------------------------------- diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 9c22d5ae3a..53e1471f7b 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -104,7 +104,6 @@ class BuildVolume(SceneNode): # but it does not update the disallowed areas after material change Application.getInstance().getMachineManager().activeStackChanged.connect(self._onStackChanged) - def _onSceneChanged(self, source): if self._global_container_stack: self._change_timer.start() @@ -433,7 +432,8 @@ class BuildVolume(SceneNode): self._global_container_stack.getProperty("raft_interface_thickness", "value") + self._global_container_stack.getProperty("raft_surface_layers", "value") * self._global_container_stack.getProperty("raft_surface_thickness", "value") + - self._global_container_stack.getProperty("raft_airgap", "value")) + self._global_container_stack.getProperty("raft_airgap", "value") - + self._global_container_stack.getProperty("layer_0_z_overlap", "value")) # Rounding errors do not matter, we check if raft_thickness has changed at all if old_raft_thickness != self._raft_thickness: @@ -562,7 +562,7 @@ class BuildVolume(SceneNode): used_extruders = [self._global_container_stack] result_areas = self._computeDisallowedAreasStatic(disallowed_border_size, used_extruders) #Normal machine disallowed areas can always be added. - prime_areas = self._computeDisallowedAreasPrime(disallowed_border_size, used_extruders) + prime_areas = self._computeDisallowedAreasPrimeBlob(disallowed_border_size, used_extruders) prime_disallowed_areas = self._computeDisallowedAreasStatic(0, used_extruders) #Where the priming is not allowed to happen. This is not added to the result, just for collision checking. #Check if prime positions intersect with disallowed areas. @@ -636,7 +636,7 @@ class BuildVolume(SceneNode): result[extruder.getId()] = [] #Currently, the only normally printed object is the prime tower. - if ExtruderManager.getInstance().getResolveOrValue("prime_tower_enable") == True: + if ExtruderManager.getInstance().getResolveOrValue("prime_tower_enable"): prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value") machine_width = self._global_container_stack.getProperty("machine_width", "value") machine_depth = self._global_container_stack.getProperty("machine_depth", "value") @@ -658,7 +658,7 @@ class BuildVolume(SceneNode): return result - ## Computes the disallowed areas for the prime locations. + ## Computes the disallowed areas for the prime blobs. # # These are special because they are not subject to things like brim or # travel avoidance. They do get a dilute with the border size though @@ -669,17 +669,18 @@ class BuildVolume(SceneNode): # \param used_extruders The extruder stacks to generate disallowed areas # for. # \return A dictionary with for each used extruder ID the prime areas. - def _computeDisallowedAreasPrime(self, border_size, used_extruders): + def _computeDisallowedAreasPrimeBlob(self, border_size, used_extruders): result = {} machine_width = self._global_container_stack.getProperty("machine_width", "value") machine_depth = self._global_container_stack.getProperty("machine_depth", "value") for extruder in used_extruders: + prime_blob_enabled = extruder.getProperty("prime_blob_enable", "value") prime_x = extruder.getProperty("extruder_prime_pos_x", "value") - prime_y = - extruder.getProperty("extruder_prime_pos_y", "value") + prime_y = -extruder.getProperty("extruder_prime_pos_y", "value") - #Ignore extruder prime position if it is not set - if prime_x == 0 and prime_y == 0: + #Ignore extruder prime position if it is not set or if blob is disabled + if (prime_x == 0 and prime_y == 0) or not prime_blob_enabled: result[extruder.getId()] = [] continue @@ -715,6 +716,11 @@ class BuildVolume(SceneNode): polygon = polygon.getMinkowskiHull(Polygon.approximatedCircle(border_size)) machine_disallowed_polygons.append(polygon) + # For certain machines we don't need to compute disallowed areas for each nozzle. + # So we check here and only do the nozzle offsetting if needed. + nozzle_offsetting_for_disallowed_areas = self._global_container_stack.getMetaDataEntry( + "nozzle_offsetting_for_disallowed_areas", True) + result = {} for extruder in used_extruders: extruder_id = extruder.getId() @@ -724,6 +730,8 @@ class BuildVolume(SceneNode): offset_y = extruder.getProperty("machine_nozzle_offset_y", "value") if offset_y is None: offset_y = 0 + else: + offset_y = -offset_y result[extruder_id] = [] for polygon in machine_disallowed_polygons: @@ -734,14 +742,17 @@ class BuildVolume(SceneNode): right_unreachable_border = 0 top_unreachable_border = 0 bottom_unreachable_border = 0 - #The build volume is defined as the union of the area that all extruders can reach, so we need to know the relative offset to all extruders. - for other_extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): - other_offset_x = other_extruder.getProperty("machine_nozzle_offset_x", "value") - other_offset_y = other_extruder.getProperty("machine_nozzle_offset_y", "value") - left_unreachable_border = min(left_unreachable_border, other_offset_x - offset_x) - right_unreachable_border = max(right_unreachable_border, other_offset_x - offset_x) - top_unreachable_border = min(top_unreachable_border, other_offset_y - offset_y) - bottom_unreachable_border = max(bottom_unreachable_border, other_offset_y - offset_y) + + # Only do nozzle offsetting if needed + if nozzle_offsetting_for_disallowed_areas: + #The build volume is defined as the union of the area that all extruders can reach, so we need to know the relative offset to all extruders. + for other_extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): + other_offset_x = other_extruder.getProperty("machine_nozzle_offset_x", "value") + other_offset_y = -other_extruder.getProperty("machine_nozzle_offset_y", "value") + left_unreachable_border = min(left_unreachable_border, other_offset_x - offset_x) + right_unreachable_border = max(right_unreachable_border, other_offset_x - offset_x) + top_unreachable_border = min(top_unreachable_border, other_offset_y - offset_y) + bottom_unreachable_border = max(bottom_unreachable_border, other_offset_y - offset_y) half_machine_width = self._global_container_stack.getProperty("machine_width", "value") / 2 half_machine_depth = self._global_container_stack.getProperty("machine_depth", "value") / 2 @@ -869,7 +880,7 @@ class BuildVolume(SceneNode): else: extruder_index = self._global_container_stack.getProperty(extruder_setting_key, "value") - if extruder_index == "-1": # If extruder index is -1 use global instead + if str(extruder_index) == "-1": # If extruder index is -1 use global instead stack = self._global_container_stack else: extruder_stack_id = ExtruderManager.getInstance().extruderIds[str(extruder_index)] @@ -950,9 +961,9 @@ class BuildVolume(SceneNode): return max(min(value, max_value), min_value) _skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist"] - _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap"] + _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"] _extra_z_settings = ["retraction_hop_enabled", "retraction_hop"] - _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "extruder_prime_pos_z"] + _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "extruder_prime_pos_z", "prime_blob_enable"] _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y"] _ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"] _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts"] diff --git a/cura/ConvexHullDecorator.py b/cura/ConvexHullDecorator.py index 404342fb78..70f77d9712 100644 --- a/cura/ConvexHullDecorator.py +++ b/cura/ConvexHullDecorator.py @@ -257,7 +257,11 @@ class ConvexHullDecorator(SceneNodeDecorator): # \return New Polygon instance that is offset with everything that # influences the collision area. def _offsetHull(self, convex_hull): - horizontal_expansion = self._getSettingProperty("xy_offset", "value") + horizontal_expansion = max( + self._getSettingProperty("xy_offset", "value"), + self._getSettingProperty("xy_offset_layer_0", "value") + ) + mold_width = 0 if self._getSettingProperty("mold_enabled", "value"): mold_width = self._getSettingProperty("mold_width", "value") @@ -298,7 +302,7 @@ class ConvexHullDecorator(SceneNodeDecorator): self._onChanged() ## Private convenience function to get a setting from the correct extruder (as defined by limit_to_extruder property). - def _getSettingProperty(self, setting_key, property="value"): + def _getSettingProperty(self, setting_key, property = "value"): per_mesh_stack = self._node.callDecoration("getStack") if per_mesh_stack: return per_mesh_stack.getProperty(setting_key, property) @@ -314,10 +318,8 @@ class ConvexHullDecorator(SceneNodeDecorator): extruder_stack_id = ExtruderManager.getInstance().extruderIds["0"] extruder_stack = ContainerRegistry.getInstance().findContainerStacks(id = extruder_stack_id)[0] return extruder_stack.getProperty(setting_key, property) - else: #Limit_to_extruder is set. Use that one. - extruder_stack_id = ExtruderManager.getInstance().extruderIds[str(extruder_index)] - stack = ContainerRegistry.getInstance().findContainerStacks(id = extruder_stack_id)[0] - return stack.getProperty(setting_key, property) + else: #Limit_to_extruder is set. The global stack handles this then. + return self._global_stack.getProperty(setting_key, property) ## Returns true if node is a descendant or the same as the root node. def __isDescendant(self, root, node): @@ -328,11 +330,10 @@ class ConvexHullDecorator(SceneNodeDecorator): return self.__isDescendant(root, node.getParent()) _affected_settings = [ - "adhesion_type", "raft_base_thickness", "raft_interface_thickness", "raft_surface_layers", - "raft_surface_thickness", "raft_airgap", "raft_margin", "print_sequence", + "adhesion_type", "raft_margin", "print_sequence", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "skirt_distance", "brim_line_count"] ## Settings that change the convex hull. # # If these settings change, the convex hull should be recalculated. - _influencing_settings = {"xy_offset", "mold_enabled", "mold_width"} + _influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width"} diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py index 4048b409a7..7008ba64d2 100644 --- a/cura/CrashHandler.py +++ b/cura/CrashHandler.py @@ -2,6 +2,9 @@ import sys import platform import traceback import webbrowser +import faulthandler +import tempfile +import os import urllib from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, Qt, QCoreApplication @@ -91,6 +94,17 @@ def show(exception_type, value, tb): crash_info = "Version: {0}\nPlatform: {1}\nQt: {2}\nPyQt: {3}\n\nException:\n{4}" crash_info = crash_info.format(version, platform.platform(), QT_VERSION_STR, PYQT_VERSION_STR, trace) + tmp_file_fd, tmp_file_path = tempfile.mkstemp(prefix = "cura-crash", text = True) + os.close(tmp_file_fd) + with open(tmp_file_path, "w") as f: + faulthandler.dump_traceback(f, all_threads=True) + with open(tmp_file_path, "r") as f: + data = f.read() + + msg = "-------------------------\n" + msg += data + crash_info += "\n\n" + msg + textarea.setText(crash_info) buttons = QDialogButtonBox(QDialogButtonBox.Close, dialog) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 7a42acd376..048973c5c4 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1,5 +1,6 @@ -# Copyright (c) 2015 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. + from PyQt5.QtNetwork import QLocalServer from PyQt5.QtNetwork import QLocalSocket @@ -25,7 +26,6 @@ from UM.Settings.Validator import Validator from UM.Message import Message from UM.i18n import i18nCatalog from UM.Workspace.WorkspaceReader import WorkspaceReader -from UM.Platform import Platform from UM.Decorators import deprecated from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation @@ -47,6 +47,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.SettingFunction import SettingFunction from cura.Settings.MachineNameValidator import MachineNameValidator from cura.Settings.ProfilesModel import ProfilesModel +from cura.Settings.MaterialsModel import MaterialsModel from cura.Settings.QualityAndUserProfilesModel import QualityAndUserProfilesModel from cura.Settings.SettingInheritanceManager import SettingInheritanceManager from cura.Settings.UserProfilesModel import UserProfilesModel @@ -62,6 +63,7 @@ from . import CameraImageProvider from . import MachineActionManager from cura.Settings.MachineManager import MachineManager +from cura.Settings.MaterialManager import MaterialManager from cura.Settings.ExtruderManager import ExtruderManager from cura.Settings.UserChangesModel import UserChangesModel from cura.Settings.ExtrudersModel import ExtrudersModel @@ -99,6 +101,11 @@ if not MYPY: class CuraApplication(QtApplication): + # SettingVersion represents the set of settings available in the machine/extruder definitions. + # You need to make sure that this version number needs to be increased if there is any non-backwards-compatible + # changes of the settings. + SettingVersion = 2 + class ResourceTypes: QmlFiles = Resources.UserType + 1 Firmware = Resources.UserType + 2 @@ -133,13 +140,14 @@ class CuraApplication(QtApplication): # From which stack the setting would inherit if not defined per object (handled in the engine) # AND for settings which are not settable_per_mesh: # which extruder is the only extruder this setting is obtained from - SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default = "-1") + SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default = "-1", depends_on = "value") # For settings which are not settable_per_mesh and not settable_per_extruder: # A function which determines the glabel/meshgroup value by looking at the values of the setting in all (used) extruders SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default = None, depends_on = "value") SettingDefinition.addSettingType("extruder", None, str, Validator) + SettingDefinition.addSettingType("optional_extruder", None, str, None) SettingDefinition.addSettingType("[int]", None, str, None) @@ -169,11 +177,12 @@ class CuraApplication(QtApplication): UM.VersionUpgradeManager.VersionUpgradeManager.getInstance().setCurrentVersions( { - ("quality", InstanceContainer.Version): (self.ResourceTypes.QualityInstanceContainer, "application/x-uranium-instancecontainer"), - ("machine_stack", ContainerStack.Version): (self.ResourceTypes.MachineStack, "application/x-uranium-containerstack"), - ("extruder_train", ContainerStack.Version): (self.ResourceTypes.ExtruderStack, "application/x-uranium-extruderstack"), - ("preferences", Preferences.Version): (Resources.Preferences, "application/x-uranium-preferences"), - ("user", InstanceContainer.Version): (self.ResourceTypes.UserInstanceContainer, "application/x-uranium-instancecontainer") + ("quality_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.QualityInstanceContainer, "application/x-uranium-instancecontainer"), + ("machine_stack", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.MachineStack, "application/x-cura-globalstack"), + ("extruder_train", ContainerStack.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.ExtruderStack, "application/x-cura-extruderstack"), + ("preferences", Preferences.Version * 1000000 + self.SettingVersion): (Resources.Preferences, "application/x-uranium-preferences"), + ("user", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.UserInstanceContainer, "application/x-uranium-instancecontainer"), + ("definition_changes", InstanceContainer.Version * 1000000 + self.SettingVersion): (self.ResourceTypes.DefinitionChangesContainer, "application/x-uranium-instancecontainer"), } ) @@ -182,6 +191,7 @@ class CuraApplication(QtApplication): self._machine_action_manager = MachineActionManager.MachineActionManager() self._machine_manager = None # This is initialized on demand. + self._material_manager = None self._setting_inheritance_manager = None self._additional_components = {} # Components to add to certain areas in the interface @@ -257,11 +267,14 @@ class CuraApplication(QtApplication): with ContainerRegistry.getInstance().lockFile(): ContainerRegistry.getInstance().load() + # set the setting version for Preferences + Preferences.getInstance().addPreference("metadata/setting_version", CuraApplication.SettingVersion) + Preferences.getInstance().addPreference("cura/active_mode", "simple") Preferences.getInstance().addPreference("cura/categories_expanded", "") Preferences.getInstance().addPreference("cura/jobname_prefix", True) - Preferences.getInstance().addPreference("view/center_on_select", False) + Preferences.getInstance().addPreference("view/center_on_select", True) Preferences.getInstance().addPreference("mesh/scale_to_fit", False) Preferences.getInstance().addPreference("mesh/scale_tiny_meshes", True) Preferences.getInstance().addPreference("cura/dialog_on_project_save", True) @@ -294,6 +307,7 @@ class CuraApplication(QtApplication): z_seam_y infill infill_sparse_density + gradual_infill_steps material material_print_temperature material_bed_temperature @@ -314,7 +328,6 @@ class CuraApplication(QtApplication): support_enable support_extruder_nr support_type - support_interface_density platform_adhesion adhesion_type adhesion_extruder_nr @@ -331,6 +344,7 @@ class CuraApplication(QtApplication): blackmagic print_sequence infill_mesh + cutting_mesh experimental """.replace("\n", ";").replace(" ", "")) @@ -340,6 +354,8 @@ class CuraApplication(QtApplication): self.globalContainerStackChanged.connect(self._onGlobalContainerChanged) self._onGlobalContainerChanged() + self._plugin_registry.addSupportedPluginExtension("curaplugin", "Cura Plugin") + def _onEngineCreated(self): self._engine.addImageProvider("camera", CameraImageProvider.CameraImageProvider()) @@ -481,7 +497,7 @@ class CuraApplication(QtApplication): self._plugin_registry.loadPlugins() - if self.getBackend() == None: + if self.getBackend() is None: raise RuntimeError("Could not load the backend plugin!") self._plugins_loaded = True @@ -618,7 +634,9 @@ class CuraApplication(QtApplication): camera.lookAt(Vector(0, 0, 0)) controller.getScene().setActiveCamera("3d") - self.getController().getTool("CameraTool").setOrigin(Vector(0, 100, 0)) + camera_tool = self.getController().getTool("CameraTool") + camera_tool.setOrigin(Vector(0, 100, 0)) + camera_tool.setZoomRange(0.1, 200000) self._camera_animation = CameraAnimation.CameraAnimation() self._camera_animation.setCameraTool(self.getController().getTool("CameraTool")) @@ -628,6 +646,7 @@ class CuraApplication(QtApplication): # Initialise extruder so as to listen to global container stack changes before the first global container stack is set. ExtruderManager.getInstance() qmlRegisterSingletonType(MachineManager, "Cura", 1, 0, "MachineManager", self.getMachineManager) + qmlRegisterSingletonType(MaterialManager, "Cura", 1, 0, "MaterialManager", self.getMaterialManager) qmlRegisterSingletonType(SettingInheritanceManager, "Cura", 1, 0, "SettingInheritanceManager", self.getSettingInheritanceManager) @@ -653,6 +672,11 @@ class CuraApplication(QtApplication): self._machine_manager = MachineManager.createMachineManager() return self._machine_manager + def getMaterialManager(self, *args): + if self._material_manager is None: + self._material_manager = MaterialManager.createMaterialManager() + return self._material_manager + def getSettingInheritanceManager(self, *args): if self._setting_inheritance_manager is None: self._setting_inheritance_manager = SettingInheritanceManager.createSettingInheritanceManager() @@ -696,6 +720,7 @@ class CuraApplication(QtApplication): qmlRegisterType(ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") qmlRegisterSingletonType(ProfilesModel, "Cura", 1, 0, "ProfilesModel", ProfilesModel.createProfilesModel) + qmlRegisterType(MaterialsModel, "Cura", 1, 0, "MaterialsModel") qmlRegisterType(QualityAndUserProfilesModel, "Cura", 1, 0, "QualityAndUserProfilesModel") qmlRegisterType(UserProfilesModel, "Cura", 1, 0, "UserProfilesModel") qmlRegisterType(MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") @@ -739,8 +764,7 @@ class CuraApplication(QtApplication): # Default self.getController().setActiveTool("TranslateTool") - # Hack: QVector bindings are broken on PyQt 5.7.1 on Windows. This disables it being called at all. - if Preferences.getInstance().getValue("view/center_on_select") and not Platform.isWindows(): + if Preferences.getInstance().getValue("view/center_on_select"): self._center_after_select = True else: if self.getController().getActiveTool(): diff --git a/cura/LayerDataBuilder.py b/cura/LayerDataBuilder.py index 2051d3a761..a5da57d42b 100755 --- a/cura/LayerDataBuilder.py +++ b/cura/LayerDataBuilder.py @@ -69,7 +69,7 @@ class LayerDataBuilder(MeshBuilder): vertex_offset = 0 index_offset = 0 - for layer, data in self._layers.items(): + for layer, data in sorted(self._layers.items()): ( vertex_offset, index_offset ) = data.build( vertex_offset, index_offset, vertices, colors, line_dimensions, extruders, line_types, indices) self._element_counts[layer] = data.elementCount diff --git a/cura/LayerPolygon.py b/cura/LayerPolygon.py index 2c527c7c7e..d6ab854169 100644 --- a/cura/LayerPolygon.py +++ b/cura/LayerPolygon.py @@ -1,4 +1,6 @@ -from UM.Math.Color import Color +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + from UM.Application import Application from typing import Any import numpy @@ -16,8 +18,9 @@ class LayerPolygon: MoveCombingType = 8 MoveRetractionType = 9 SupportInterfaceType = 10 - - __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(11) == NoneType, numpy.arange(11) == MoveCombingType), numpy.arange(11) == MoveRetractionType) + __number_of_types = 11 + + __jump_map = numpy.logical_or(numpy.logical_or(numpy.arange(__number_of_types) == NoneType, numpy.arange(__number_of_types) == MoveCombingType), numpy.arange(__number_of_types) == MoveRetractionType) ## LayerPolygon, used in ProcessSlicedLayersJob # \param extruder @@ -28,6 +31,9 @@ class LayerPolygon: def __init__(self, extruder, line_types, data, line_widths, line_thicknesses): self._extruder = extruder self._types = line_types + for i in range(len(self._types)): + if self._types[i] >= self.__number_of_types: #Got faulty line data from the engine. + self._types[i] = self.NoneType self._data = data self._line_widths = line_widths self._line_thicknesses = line_thicknesses @@ -36,11 +42,11 @@ class LayerPolygon: self._vertex_end = 0 self._index_begin = 0 self._index_end = 0 - + self._jump_mask = self.__jump_map[self._types] self._jump_count = numpy.sum(self._jump_mask) - self._mesh_line_count = len(self._types)-self._jump_count - self._vertex_count = self._mesh_line_count + numpy.sum( self._types[1:] == self._types[:-1]) + self._mesh_line_count = len(self._types) - self._jump_count + self._vertex_count = self._mesh_line_count + numpy.sum(self._types[1:] == self._types[:-1]) # Buffering the colors shouldn't be necessary as it is not # re-used and can save alot of memory usage. diff --git a/cura/PlatformPhysicsOperation.py b/cura/PlatformPhysicsOperation.py index 04f7e1616c..57206226e2 100644 --- a/cura/PlatformPhysicsOperation.py +++ b/cura/PlatformPhysicsOperation.py @@ -23,8 +23,8 @@ class PlatformPhysicsOperation(Operation): def mergeWith(self, other): group = GroupedOperation() - group.addOperation(self) group.addOperation(other) + group.addOperation(self) return group diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index ab63e4034d..47672a9823 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -31,8 +31,8 @@ catalog = i18nCatalog("cura") # - This triggers a new slice with the current settings - this is the "current settings pass". # - When the slice is done, we update the current print time and material amount. # - If the source of the slice was not a Setting change, we start the second slice pass, the "low quality settings pass". Otherwise we stop here. -# - When that is done, we update the minimum print time and start the final slice pass, the "high quality settings pass". -# - When the high quality pass is done, we update the maximum print time. +# - When that is done, we update the minimum print time and start the final slice pass, the "Extra Fine settings pass". +# - When the Extra Fine pass is done, we update the maximum print time. # # This class also mangles the current machine name and the filename of the first loaded mesh into a job name. # This job name is requested by the JobSpecs qml file. @@ -52,6 +52,19 @@ class PrintInformation(QObject): super().__init__(parent) self._current_print_time = Duration(None, self) + self._print_times_per_feature = { + "none": Duration(None, self), + "inset_0": Duration(None, self), + "inset_x": Duration(None, self), + "skin": Duration(None, self), + "support": Duration(None, self), + "skirt": Duration(None, self), + "infill": Duration(None, self), + "support_infill": Duration(None, self), + "travel": Duration(None, self), + "retract": Duration(None, self), + "support_interface": Duration(None, self) + } self._material_lengths = [] self._material_weights = [] @@ -93,6 +106,10 @@ class PrintInformation(QObject): def currentPrintTime(self): return self._current_print_time + @pyqtProperty("QVariantMap", notify = currentPrintTimeChanged) + def printTimesPerFeature(self): + return self._print_times_per_feature + materialLengthsChanged = pyqtSignal() @pyqtProperty("QVariantList", notify = materialLengthsChanged) @@ -111,12 +128,16 @@ class PrintInformation(QObject): def materialCosts(self): return self._material_costs - def _onPrintDurationMessage(self, total_time, material_amounts): - if total_time != total_time: # Check for NaN. Engine can sometimes give us weird values. - Logger.log("w", "Received NaN for print duration message") - self._current_print_time.setDuration(0) - else: - self._current_print_time.setDuration(total_time) + def _onPrintDurationMessage(self, time_per_feature, material_amounts): + total_time = 0 + for feature, time in time_per_feature.items(): + if time != time: # Check for NaN. Engine can sometimes give us weird values. + self._print_times_per_feature[feature].setDuration(0) + Logger.log("w", "Received NaN for print duration message") + continue + total_time += time + self._print_times_per_feature[feature].setDuration(time) + self._current_print_time.setDuration(total_time) self.currentPrintTimeChanged.emit() diff --git a/cura/PrinterOutputDevice.py b/cura/PrinterOutputDevice.py index f411190fd5..e23efc0f5a 100644 --- a/cura/PrinterOutputDevice.py +++ b/cura/PrinterOutputDevice.py @@ -3,13 +3,18 @@ from UM.i18n import i18nCatalog from UM.OutputDevice.OutputDevice import OutputDevice -from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer +from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, pyqtSignal, QUrl +from PyQt5.QtQml import QQmlComponent, QQmlContext from PyQt5.QtWidgets import QMessageBox from enum import IntEnum # For the connection state tracking. from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Logger import Logger from UM.Signal import signalemitter +from UM.PluginRegistry import PluginRegistry +from UM.Application import Application + +import os i18n_catalog = i18nCatalog("cura") @@ -57,6 +62,11 @@ class PrinterOutputDevice(QObject, OutputDevice): self._camera_active = False + self._monitor_view_qml_path = "" + self._monitor_component = None + self._monitor_item = None + self._qml_context = None + def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None): raise NotImplementedError("requestWrite needs to be implemented") @@ -111,6 +121,32 @@ class PrinterOutputDevice(QObject, OutputDevice): # Signal to be emitted when some drastic change occurs in the remaining time (not when the time just passes on normally). preheatBedRemainingTimeChanged = pyqtSignal() + @pyqtProperty(QObject, constant=True) + def monitorItem(self): + # Note that we specifically only check if the monitor component is created. + # It could be that it failed to actually create the qml item! If we check if the item was created, it will try to + # create the item (and fail) every time. + if not self._monitor_component: + self._createMonitorViewFromQML() + + return self._monitor_item + + def _createMonitorViewFromQML(self): + path = QUrl.fromLocalFile(self._monitor_view_qml_path) + + # Because of garbage collection we need to keep this referenced by python. + self._monitor_component = QQmlComponent(Application.getInstance()._engine, path) + + # Check if the context was already requested before (Printer output device might have multiple items in the future) + if self._qml_context is None: + self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext()) + self._qml_context.setContextProperty("OutputDevice", self) + + self._monitor_item = self._monitor_component.create(self._qml_context) + if self._monitor_item is None: + Logger.log("e", "QQmlComponent status %s", self._monitor_component.status()) + Logger.log("e", "QQmlComponent error string %s", self._monitor_component.errorString()) + @pyqtProperty(str, notify=printerTypeChanged) def printerType(self): return self._printer_type diff --git a/cura/QualityManager.py b/cura/QualityManager.py index f0f095b912..d75d821b46 100644 --- a/cura/QualityManager.py +++ b/cura/QualityManager.py @@ -3,7 +3,7 @@ # This collects a lot of quality and quality changes related code which was split between ContainerManager # and the MachineManager and really needs to usable from both. -from typing import List +from typing import List, Optional, Dict, TYPE_CHECKING from UM.Application import Application from UM.Settings.ContainerRegistry import ContainerRegistry @@ -11,6 +11,10 @@ from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Settings.InstanceContainer import InstanceContainer from cura.Settings.ExtruderManager import ExtruderManager +if TYPE_CHECKING: + from cura.Settings.GlobalStack import GlobalStack + from cura.Settings.ExtruderStack import ExtruderStack + from UM.Settings.DefinitionContainer import DefinitionContainerInterface class QualityManager: @@ -27,12 +31,12 @@ class QualityManager: ## Find a quality by name for a specific machine definition and materials. # # \param quality_name - # \param machine_definition (Optional) \type{ContainerInstance} If nothing is + # \param machine_definition (Optional) \type{DefinitionContainerInterface} If nothing is # specified then the currently selected machine definition is used. - # \param material_containers (Optional) \type{List[ContainerInstance]} If nothing is specified then + # \param material_containers (Optional) \type{List[InstanceContainer]} If nothing is specified then # the current set of selected materials is used. - # \return the matching quality container \type{ContainerInstance} - def findQualityByName(self, quality_name, machine_definition=None, material_containers=None): + # \return the matching quality container \type{InstanceContainer} + def findQualityByName(self, quality_name: str, machine_definition: Optional["DefinitionContainerInterface"] = None, material_containers: List[InstanceContainer] = None) -> Optional[InstanceContainer]: criteria = {"type": "quality", "name": quality_name} result = self._getFilteredContainersForStack(machine_definition, material_containers, **criteria) @@ -46,15 +50,20 @@ class QualityManager: ## Find a quality changes container by name. # # \param quality_changes_name \type{str} the name of the quality changes container. - # \param machine_definition (Optional) \type{ContainerInstance} If nothing is - # specified then the currently selected machine definition is used. - # \param material_containers (Optional) \type{List[ContainerInstance]} If nothing is specified then - # the current set of selected materials is used. - # \return the matching quality changes containers \type{List[ContainerInstance]} - def findQualityChangesByName(self, quality_changes_name, machine_definition=None): - criteria = {"type": "quality_changes", "name": quality_changes_name} - result = self._getFilteredContainersForStack(machine_definition, [], **criteria) + # \param machine_definition (Optional) \type{DefinitionContainer} If nothing is + # specified then the currently selected machine definition is used.. + # \return the matching quality changes containers \type{List[InstanceContainer]} + def findQualityChangesByName(self, quality_changes_name: str, machine_definition: Optional["DefinitionContainerInterface"] = None): + if not machine_definition: + global_stack = Application.getGlobalContainerStack() + if not global_stack: + return [] #No stack, so no current definition could be found, so there are no quality changes either. + machine_definition = global_stack.definition + result = self.findAllQualityChangesForMachine(machine_definition) + for extruder in self.findAllExtruderDefinitionsForMachine(machine_definition): + result.extend(self.findAllQualityChangesForExtruder(extruder)) + result = [quality_change for quality_change in result if quality_change.getName() == quality_changes_name] return result ## Fetch the list of available quality types for this combination of machine definition and materials. @@ -62,7 +71,7 @@ class QualityManager: # \param machine_definition \type{DefinitionContainer} # \param material_containers \type{List[InstanceContainer]} # \return \type{List[str]} - def findAllQualityTypesForMachineAndMaterials(self, machine_definition, material_containers): + def findAllQualityTypesForMachineAndMaterials(self, machine_definition: "DefinitionContainerInterface", material_containers: List[InstanceContainer]) -> List[str]: # Determine the common set of quality types which can be # applied to all of the materials for this machine. quality_type_dict = self.__fetchQualityTypeDictForMaterial(machine_definition, material_containers[0]) @@ -76,9 +85,9 @@ class QualityManager: ## Fetches a dict of quality types names to quality profiles for a combination of machine and material. # # \param machine_definition \type{DefinitionContainer} the machine definition. - # \param material \type{ContainerInstance} the material. - # \return \type{Dict[str, ContainerInstance]} the dict of suitable quality type names mapping to qualities. - def __fetchQualityTypeDictForMaterial(self, machine_definition, material): + # \param material \type{InstanceContainer} the material. + # \return \type{Dict[str, InstanceContainer]} the dict of suitable quality type names mapping to qualities. + def __fetchQualityTypeDictForMaterial(self, machine_definition: "DefinitionContainerInterface", material: InstanceContainer) -> Dict[str, InstanceContainer]: qualities = self.findAllQualitiesForMachineMaterial(machine_definition, material) quality_type_dict = {} for quality in qualities: @@ -88,36 +97,36 @@ class QualityManager: ## Find a quality container by quality type. # # \param quality_type \type{str} the name of the quality type to search for. - # \param machine_definition (Optional) \type{ContainerInstance} If nothing is + # \param machine_definition (Optional) \type{InstanceContainer} If nothing is # specified then the currently selected machine definition is used. - # \param material_containers (Optional) \type{List[ContainerInstance]} If nothing is specified then + # \param material_containers (Optional) \type{List[InstanceContainer]} If nothing is specified then # the current set of selected materials is used. - # \return the matching quality container \type{ContainerInstance} - def findQualityByQualityType(self, quality_type, machine_definition=None, material_containers=None, **kwargs): + # \return the matching quality container \type{InstanceContainer} + def findQualityByQualityType(self, quality_type: str, machine_definition: Optional["DefinitionContainerInterface"] = None, material_containers: List[InstanceContainer] = None, **kwargs) -> InstanceContainer: criteria = kwargs criteria["type"] = "quality" if quality_type: criteria["quality_type"] = quality_type result = self._getFilteredContainersForStack(machine_definition, material_containers, **criteria) - # Fall back to using generic materials and qualities if nothing could be found. if not result and material_containers and len(material_containers) == 1: basic_materials = self._getBasicMaterials(material_containers[0]) - result = self._getFilteredContainersForStack(machine_definition, basic_materials, **criteria) - + if basic_materials: + result = self._getFilteredContainersForStack(machine_definition, basic_materials, **criteria) return result[0] if result else None ## Find all suitable qualities for a combination of machine and material. # # \param machine_definition \type{DefinitionContainer} the machine definition. - # \param material_container \type{ContainerInstance} the material. - # \return \type{List[ContainerInstance]} the list of suitable qualities. - def findAllQualitiesForMachineMaterial(self, machine_definition, material_container): + # \param material_container \type{InstanceContainer} the material. + # \return \type{List[InstanceContainer]} the list of suitable qualities. + def findAllQualitiesForMachineMaterial(self, machine_definition: "DefinitionContainerInterface", material_container: InstanceContainer) -> List[InstanceContainer]: criteria = {"type": "quality" } result = self._getFilteredContainersForStack(machine_definition, [material_container], **criteria) if not result: basic_materials = self._getBasicMaterials(material_container) - result = self._getFilteredContainersForStack(machine_definition, basic_materials, **criteria) + if basic_materials: + result = self._getFilteredContainersForStack(machine_definition, basic_materials, **criteria) return result @@ -125,7 +134,7 @@ class QualityManager: # # \param machine_definition \type{DefinitionContainer} the machine definition. # \return \type{List[InstanceContainer]} the list of quality changes - def findAllQualityChangesForMachine(self, machine_definition: DefinitionContainer) -> List[InstanceContainer]: + def findAllQualityChangesForMachine(self, machine_definition: "DefinitionContainerInterface") -> List[InstanceContainer]: if machine_definition.getMetaDataEntry("has_machine_quality"): definition_id = machine_definition.getId() else: @@ -135,25 +144,37 @@ class QualityManager: quality_changes_list = ContainerRegistry.getInstance().findInstanceContainers(**filter_dict) return quality_changes_list + def findAllExtruderDefinitionsForMachine(self, machine_definition: "DefinitionContainerInterface") -> List["DefinitionContainerInterface"]: + filter_dict = { "machine": machine_definition.getId() } + return ContainerRegistry.getInstance().findDefinitionContainers(**filter_dict) + + ## Find all quality changes for a given extruder. + # + # \param extruder_definition The extruder to find the quality changes for. + # \return The list of quality changes for the given extruder. + def findAllQualityChangesForExtruder(self, extruder_definition: "DefinitionContainerInterface") -> List[InstanceContainer]: + filter_dict = {"type": "quality_changes", "extruder": extruder_definition.getId()} + return ContainerRegistry.getInstance().findInstanceContainers(**filter_dict) + ## Find all usable qualities for a machine and extruders. # # Finds all of the qualities for this combination of machine and extruders. # Only one quality per quality type is returned. i.e. if there are 2 qualities with quality_type=normal # then only one of then is returned (at random). # - # \param global_container_stack \type{ContainerStack} the global machine definition - # \param extruder_stacks \type{List[ContainerStack]} the list of extruder stacks + # \param global_container_stack \type{GlobalStack} the global machine definition + # \param extruder_stacks \type{List[ExtruderStack]} the list of extruder stacks # \return \type{List[InstanceContainer]} the list of the matching qualities. The quality profiles # return come from the first extruder in the given list of extruders. - def findAllUsableQualitiesForMachineAndExtruders(self, global_container_stack, extruder_stacks): + def findAllUsableQualitiesForMachineAndExtruders(self, global_container_stack: "GlobalStack", extruder_stacks: List["ExtruderStack"]) -> List[InstanceContainer]: global_machine_definition = global_container_stack.getBottom() if extruder_stacks: # Multi-extruder machine detected. - materials = [stack.findContainer(type="material") for stack in extruder_stacks] + materials = [stack.material for stack in extruder_stacks] else: # Machine with one extruder. - materials = [global_container_stack.findContainer(type="material")] + materials = [global_container_stack.material] quality_types = self.findAllQualityTypesForMachineAndMaterials(global_machine_definition, materials) @@ -170,14 +191,13 @@ class QualityManager: # This tries to find a generic or basic version of the given material. # \param material_container \type{InstanceContainer} the material # \return \type{List[InstanceContainer]} a list of the basic materials or an empty list if one could not be found. - def _getBasicMaterials(self, material_container): + def _getBasicMaterials(self, material_container: InstanceContainer): base_material = material_container.getMetaDataEntry("material") material_container_definition = material_container.getDefinition() if material_container_definition and material_container_definition.getMetaDataEntry("has_machine_quality"): definition_id = material_container.getDefinition().getMetaDataEntry("quality_definition", material_container.getDefinition().getId()) else: definition_id = "fdmprinter" - if base_material: # There is a basic material specified criteria = { "type": "material", "name": base_material, "definition": definition_id } @@ -192,7 +212,7 @@ class QualityManager: def _getFilteredContainers(self, **kwargs): return self._getFilteredContainersForStack(None, None, **kwargs) - def _getFilteredContainersForStack(self, machine_definition=None, material_containers=None, **kwargs): + def _getFilteredContainersForStack(self, machine_definition: "DefinitionContainerInterface" = None, material_containers: List[InstanceContainer] = None, **kwargs): # Fill in any default values. if machine_definition is None: machine_definition = Application.getInstance().getGlobalContainerStack().getBottom() @@ -200,9 +220,14 @@ class QualityManager: if quality_definition_id is not None: machine_definition = ContainerRegistry.getInstance().findDefinitionContainers(id=quality_definition_id)[0] + # for convenience if material_containers is None: + material_containers = [] + + if not material_containers: active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() - material_containers = [stack.findContainer(type="material") for stack in active_stacks] + if active_stacks: + material_containers = [stack.material for stack in active_stacks] criteria = kwargs filter_by_material = False @@ -218,25 +243,23 @@ class QualityManager: criteria["definition"] = "fdmprinter" # Stick the material IDs in a set - if material_containers is None or len(material_containers) == 0: - filter_by_material = False - else: - material_ids = set() - for material_instance in material_containers: - if material_instance is not None: - # Add the parent material too. - for basic_material in self._getBasicMaterials(material_instance): - material_ids.add(basic_material.getId()) - material_ids.add(material_instance.getId()) + material_ids = set() + for material_instance in material_containers: + if material_instance is not None: + # Add the parent material too. + for basic_material in self._getBasicMaterials(material_instance): + material_ids.add(basic_material.getId()) + material_ids.add(material_instance.getId()) containers = ContainerRegistry.getInstance().findInstanceContainers(**criteria) result = [] for container in containers: # If the machine specifies we should filter by material, exclude containers that do not match any active material. - if filter_by_material and container.getMetaDataEntry("material") not in material_ids and not "global_quality" in kwargs: + if filter_by_material and container.getMetaDataEntry("material") not in material_ids and "global_quality" not in kwargs: continue result.append(container) + return result ## Get the parent machine definition of a machine definition. @@ -245,7 +268,7 @@ class QualityManager: # an extruder definition. # \return \type{DefinitionContainer} the parent machine definition. If the given machine # definition doesn't have a parent then it is simply returned. - def getParentMachineDefinition(self, machine_definition: DefinitionContainer) -> DefinitionContainer: + def getParentMachineDefinition(self, machine_definition: "DefinitionContainerInterface") -> "DefinitionContainerInterface": container_registry = ContainerRegistry.getInstance() machine_entry = machine_definition.getMetaDataEntry("machine") @@ -274,8 +297,8 @@ class QualityManager: # # \param machine_definition \type{DefinitionContainer} This may be a normal machine definition or # an extruder definition. - # \return \type{DefinitionContainer} - def getWholeMachineDefinition(self, machine_definition): + # \return \type{DefinitionContainerInterface} + def getWholeMachineDefinition(self, machine_definition: "DefinitionContainerInterface") -> "DefinitionContainerInterface": machine_entry = machine_definition.getMetaDataEntry("machine") if machine_entry is None: # This already is a 'global' machine definition. diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 817df7e46e..0d776aec20 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -1,13 +1,15 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. import os.path import urllib +import uuid from typing import Dict, Union from PyQt5.QtCore import QObject, QUrl, QVariant from UM.FlameProfiler import pyqtSlot from PyQt5.QtWidgets import QMessageBox +from UM.Util import parseBool from UM.PluginRegistry import PluginRegistry from UM.SaveFile import SaveFile @@ -216,23 +218,85 @@ class ContainerManager(QObject): entries = entry_name.split("/") entry_name = entries.pop() + sub_item_changed = False if entries: root_name = entries.pop(0) root = container.getMetaDataEntry(root_name) item = root - for entry in entries: + for _ in range(len(entries)): item = item.get(entries.pop(0), { }) + if item[entry_name] != entry_value: + sub_item_changed = True item[entry_name] = entry_value entry_name = root_name entry_value = root container.setMetaDataEntry(entry_name, entry_value) + if sub_item_changed: #If it was only a sub-item that has changed then the setMetaDataEntry won't correctly notice that something changed, and we must manually signal that the metadata changed. + container.metaDataChanged.emit(container) return True + ## Set a setting property of the specified container. + # + # This will set the specified property of the specified setting of the container + # and all containers that share the same base_file (if any). The latter only + # happens for material containers. + # + # \param container_id \type{str} The ID of the container to change. + # \param setting_key \type{str} The key of the setting. + # \param property_name \type{str} The name of the property, eg "value". + # \param property_value \type{str} The new value of the property. + # + # \return True if successful, False if not. + @pyqtSlot(str, str, str, str, result = bool) + def setContainerProperty(self, container_id, setting_key, property_name, property_value): + containers = self._container_registry.findContainers(None, id = container_id) + if not containers: + Logger.log("w", "Could not set properties of container %s because it was not found.", container_id) + return False + + container = containers[0] + + if container.isReadOnly(): + Logger.log("w", "Cannot set properties of read-only container %s.", container_id) + return False + + container.setProperty(setting_key, property_name, property_value) + + basefile = container.getMetaDataEntry("base_file", container_id) + for sibbling_container in ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile): + if sibbling_container != container: + sibbling_container.setProperty(setting_key, property_name, property_value) + + return True + + ## Get a setting property of the specified container. + # + # This will get the specified property of the specified setting of the + # specified container. + # + # \param container_id The ID of the container to get the setting property + # of. + # \param setting_key The key of the setting to get the property of. + # \param property_name The property to obtain. + # \return The value of the specified property. The type of this property + # value depends on the type of the property. For instance, the "value" + # property of an integer setting will be a Python int, but the "value" + # property of an enum setting will be a Python str. + @pyqtSlot(str, str, str, result = QVariant) + def getContainerProperty(self, container_id: str, setting_key: str, property_name: str): + containers = self._container_registry.findContainers(id = container_id) + if not containers: + Logger.log("w", "Could not get properties of container %s because it was not found.", container_id) + return "" + container = containers[0] + + return container.getProperty(setting_key, property_name) + ## Set the name of the specified container. @pyqtSlot(str, str, result = bool) def setContainerName(self, container_id, new_name): @@ -525,7 +589,7 @@ class ContainerManager(QObject): global_stack = Application.getInstance().getGlobalContainerStack() if not global_stack or not quality_name: return "" - machine_definition = global_stack.getBottom() + machine_definition = QualityManager.getInstance().getParentMachineDefinition(global_stack.getBottom()) for container in QualityManager.getInstance().findQualityChangesByName(quality_name, machine_definition): containers_found = True @@ -671,6 +735,9 @@ class ContainerManager(QObject): return new_change_instances + ## Create a duplicate of a material, which has the same GUID and base_file metadata + # + # \return \type{str} the id of the newly created container. @pyqtSlot(str, result = str) def duplicateMaterial(self, material_id: str) -> str: containers = self._container_registry.findInstanceContainers(id=material_id) @@ -693,6 +760,117 @@ class ContainerManager(QObject): duplicated_container.deserialize(f.read()) duplicated_container.setDirty(True) self._container_registry.addContainer(duplicated_container) + return self._getMaterialContainerIdForActiveMachine(new_id) + + ## Create a new material by cloning Generic PLA for the current material diameter and setting the GUID to something unqiue + # + # \return \type{str} the id of the newly created container. + @pyqtSlot(result = str) + def createMaterial(self) -> str: + # Ensure all settings are saved. + Application.getInstance().saveSettings() + + global_stack = Application.getInstance().getGlobalContainerStack() + if not global_stack: + return "" + + approximate_diameter = str(round(global_stack.getProperty("material_diameter", "value"))) + containers = self._container_registry.findInstanceContainers(id = "generic_pla*", approximate_diameter = approximate_diameter) + if not containers: + Logger.log("d", "Unable to create a new material by cloning Generic PLA, because it cannot be found for the material diameter for this machine.") + return "" + + base_file = containers[0].getMetaDataEntry("base_file") + containers = self._container_registry.findInstanceContainers(id = base_file) + if not containers: + Logger.log("d", "Unable to create a new material by cloning Generic PLA, because the base file for Generic PLA for this machine can not be found.") + return "" + + # Create a new ID & container to hold the data. + new_id = self._container_registry.uniqueName("custom_material") + container_type = type(containers[0]) # Always XMLMaterialProfile, since we specifically clone the base_file + duplicated_container = container_type(new_id) + + # Instead of duplicating we load the data from the basefile again. + # This ensures that the inheritance goes well and all "cut up" subclasses of the xmlMaterial profile + # are also correctly created. + with open(containers[0].getPath(), encoding="utf-8") as f: + duplicated_container.deserialize(f.read()) + + duplicated_container.setMetaDataEntry("GUID", str(uuid.uuid4())) + duplicated_container.setMetaDataEntry("brand", catalog.i18nc("@label", "Custom")) + # We're defaulting to PLA, as machines with material profiles don't like material types they don't know. + # TODO: This is a hack, the only reason this is in now is to bandaid the problem as we're close to a release! + duplicated_container.setMetaDataEntry("material", "PLA") + duplicated_container.setName(catalog.i18nc("@label", "Custom Material")) + + self._container_registry.addContainer(duplicated_container) + return self._getMaterialContainerIdForActiveMachine(new_id) + + ## Find the id of a material container based on the new material + # Utilty function that is shared between duplicateMaterial and createMaterial + # + # \param base_file \type{str} the id of the created container. + def _getMaterialContainerIdForActiveMachine(self, base_file): + global_stack = Application.getInstance().getGlobalContainerStack() + if not global_stack: + return base_file + + has_machine_materials = parseBool(global_stack.getMetaDataEntry("has_machine_materials", default = False)) + has_variant_materials = parseBool(global_stack.getMetaDataEntry("has_variant_materials", default = False)) + has_variants = parseBool(global_stack.getMetaDataEntry("has_variants", default = False)) + if has_machine_materials or has_variant_materials: + if has_variants: + materials = self._container_registry.findInstanceContainers(type = "material", base_file = base_file, definition = global_stack.getBottom().getId(), variant = self._machine_manager.activeVariantId) + else: + materials = self._container_registry.findInstanceContainers(type = "material", base_file = base_file, definition = global_stack.getBottom().getId()) + + if materials: + return materials[0].getId() + + Logger.log("w", "Unable to find a suitable container based on %s for the current machine .", base_file) + return "" # do not activate a new material if a container can not be found + + return base_file + + ## Get a list of materials that have the same GUID as the reference material + # + # \param material_id \type{str} the id of the material for which to get the linked materials. + # \return \type{list} a list of names of materials with the same GUID + @pyqtSlot(str, result = "QStringList") + def getLinkedMaterials(self, material_id: str): + containers = self._container_registry.findInstanceContainers(id=material_id) + if not containers: + Logger.log("d", "Unable to find materials linked to material with id %s, because it doesn't exist.", material_id) + return [] + + material_container = containers[0] + material_base_file = material_container.getMetaDataEntry("base_file", "") + material_guid = material_container.getMetaDataEntry("GUID", "") + if not material_guid: + Logger.log("d", "Unable to find materials linked to material with id %s, because it doesn't have a GUID.", material_id) + return [] + + containers = self._container_registry.findInstanceContainers(type = "material", GUID = material_guid) + linked_material_names = [] + for container in containers: + if container.getId() in [material_id, material_base_file] or container.getMetaDataEntry("base_file") != container.getId(): + continue + + linked_material_names.append(container.getName()) + return linked_material_names + + ## Unlink a material from all other materials by creating a new GUID + # \param material_id \type{str} the id of the material to create a new GUID for. + @pyqtSlot(str) + def unlinkMaterial(self, material_id: str): + containers = self._container_registry.findInstanceContainers(id=material_id) + if not containers: + Logger.log("d", "Unable to make the material with id %s unique, because it doesn't exist.", material_id) + return "" + + containers[0].setMetaDataEntry("GUID", str(uuid.uuid4())) + ## Get the singleton instance for this class. @classmethod @@ -815,6 +993,9 @@ class ContainerManager(QObject): quality_changes.setDefinition(self._container_registry.findContainers(id = "fdmprinter")[0]) else: quality_changes.setDefinition(QualityManager.getInstance().getParentMachineDefinition(machine_definition)) + + from cura.CuraApplication import CuraApplication + quality_changes.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) return quality_changes diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 72b94a6f8d..a67b502b4a 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -1,9 +1,12 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. import os import os.path import re + +from typing import Optional + from PyQt5.QtWidgets import QMessageBox from UM.Decorators import override @@ -22,6 +25,8 @@ from . import GlobalStack from .ContainerManager import ContainerManager from .ExtruderManager import ExtruderManager +from cura.CuraApplication import CuraApplication + from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") @@ -41,6 +46,14 @@ class CuraContainerRegistry(ContainerRegistry): if type(container) == ContainerStack: container = self._convertContainerStack(container) + if isinstance(container, InstanceContainer) and type(container) != type(self.getEmptyInstanceContainer()): + #Check against setting version of the definition. + required_setting_version = CuraApplication.SettingVersion + actual_setting_version = int(container.getMetaDataEntry("setting_version", default = 0)) + if required_setting_version != actual_setting_version: + Logger.log("w", "Instance container {container_id} is outdated. Its setting version is {actual_setting_version} but it should be {required_setting_version}.".format(container_id = container.getId(), actual_setting_version = actual_setting_version, required_setting_version = required_setting_version)) + return #Don't add. + super().addContainer(container) ## Create a name that is not empty and unique @@ -189,8 +202,12 @@ class CuraContainerRegistry(ContainerRegistry): new_name = self.uniqueName(name_seed) if type(profile_or_list) is not list: profile = profile_or_list - self._configureProfile(profile, name_seed, new_name) - return { "status": "ok", "message": catalog.i18nc("@info:status", "Successfully imported profile {0}", profile.getName()) } + + result = self._configureProfile(profile, name_seed, new_name) + if result is not None: + return {"status": "error", "message": catalog.i18nc("@info:status", "Failed to import profile from {0}: {1}", file_name, result)} + + return {"status": "ok", "message": catalog.i18nc("@info:status", "Successfully imported profile {0}", profile.getName())} else: profile_index = -1 global_profile = None @@ -220,7 +237,9 @@ class CuraContainerRegistry(ContainerRegistry): global_profile = profile profile_id = (global_container_stack.getBottom().getId() + "_" + name_seed).lower().replace(" ", "_") - self._configureProfile(profile, profile_id, new_name) + result = self._configureProfile(profile, profile_id, new_name) + if result is not None: + return {"status": "error", "message": catalog.i18nc("@info:status", "Failed to import profile from {0}: {1}", file_name, result)} profile_index += 1 @@ -234,7 +253,14 @@ class CuraContainerRegistry(ContainerRegistry): super().load() self._fixupExtruders() - def _configureProfile(self, profile, id_seed, new_name): + ## Update an imported profile to match the current machine configuration. + # + # \param profile The profile to configure. + # \param id_seed The base ID for the profile. May be changed so it does not conflict with existing containers. + # \param new_name The new name for the profile. + # + # \return None if configuring was successful or an error message if an error occurred. + def _configureProfile(self, profile: InstanceContainer, id_seed: str, new_name: str) -> Optional[str]: profile.setReadOnly(False) profile.setDirty(True) # Ensure the profiles are correctly saved @@ -247,15 +273,36 @@ class CuraContainerRegistry(ContainerRegistry): else: profile.addMetaDataEntry("type", "quality_changes") + quality_type = profile.getMetaDataEntry("quality_type") + if not quality_type: + return catalog.i18nc("@info:status", "Profile is missing a quality type.") + + quality_type_criteria = {"quality_type": quality_type} if self._machineHasOwnQualities(): profile.setDefinition(self._activeQualityDefinition()) if self._machineHasOwnMaterials(): - profile.addMetaDataEntry("material", self._activeMaterialId()) + active_material_id = self._activeMaterialId() + if active_material_id: # only update if there is an active material + profile.addMetaDataEntry("material", active_material_id) + quality_type_criteria["material"] = active_material_id + + quality_type_criteria["definition"] = profile.getDefinition().getId() + else: profile.setDefinition(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0]) + quality_type_criteria["definition"] = "fdmprinter" + + # Check to make sure the imported profile actually makes sense in context of the current configuration. + # This prevents issues where importing a "draft" profile for a machine without "draft" qualities would report as + # successfully imported but then fail to show up. + qualities = self.findInstanceContainers(**quality_type_criteria) + if not qualities: + return catalog.i18nc("@info:status", "Could not find a quality type {0} for the current configuration.", quality_type) ContainerRegistry.getInstance().addContainer(profile) + return None + ## Gets a list of profile writer plugins # \return List of tuples of (plugin_id, meta_data). def _getIOPlugins(self, io_type): diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index 6f475a5ff9..fc90e3b239 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -5,7 +5,8 @@ import os.path from typing import Any, Optional -from PyQt5.QtCore import pyqtProperty, pyqtSlot, pyqtSignal +from PyQt5.QtCore import pyqtProperty, pyqtSignal, QObject +from UM.FlameProfiler import pyqtSlot from UM.Decorators import override from UM.Logger import Logger @@ -65,8 +66,8 @@ class CuraContainerStack(ContainerStack): ## Set the quality changes container. # # \param new_quality_changes The new quality changes container. It is expected to have a "type" metadata entry with the value "quality_changes". - def setQualityChanges(self, new_quality_changes: InstanceContainer) -> None: - self.replaceContainer(_ContainerIndexes.QualityChanges, new_quality_changes) + def setQualityChanges(self, new_quality_changes: InstanceContainer, postpone_emit = False) -> None: + self.replaceContainer(_ContainerIndexes.QualityChanges, new_quality_changes, postpone_emit = postpone_emit) ## Set the quality changes container by an ID. # @@ -92,8 +93,8 @@ class CuraContainerStack(ContainerStack): ## Set the quality container. # # \param new_quality The new quality container. It is expected to have a "type" metadata entry with the value "quality". - def setQuality(self, new_quality: InstanceContainer) -> None: - self.replaceContainer(_ContainerIndexes.Quality, new_quality) + def setQuality(self, new_quality: InstanceContainer, postpone_emit = False) -> None: + self.replaceContainer(_ContainerIndexes.Quality, new_quality, postpone_emit = postpone_emit) ## Set the quality container by an ID. # @@ -130,8 +131,8 @@ class CuraContainerStack(ContainerStack): ## Set the material container. # # \param new_quality_changes The new material container. It is expected to have a "type" metadata entry with the value "quality_changes". - def setMaterial(self, new_material: InstanceContainer) -> None: - self.replaceContainer(_ContainerIndexes.Material, new_material) + def setMaterial(self, new_material: InstanceContainer, postpone_emit = False) -> None: + self.replaceContainer(_ContainerIndexes.Material, new_material, postpone_emit = postpone_emit) ## Set the material container by an ID. # @@ -249,10 +250,18 @@ class CuraContainerStack(ContainerStack): ## Get the definition container. # # \return The definition container. Should always be a valid container, but can be equal to the empty InstanceContainer. - @pyqtProperty(DefinitionContainer, fset = setDefinition, notify = pyqtContainersChanged) + @pyqtProperty(QObject, fset = setDefinition, notify = pyqtContainersChanged) def definition(self) -> DefinitionContainer: return self._containers[_ContainerIndexes.Definition] + @override(ContainerStack) + def getBottom(self) -> "DefinitionContainer": + return self.definition + + @override(ContainerStack) + def getTop(self) -> "InstanceContainer": + return self.userChanges + ## Check whether the specified setting has a 'user' value. # # A user value here is defined as the setting having a value in either diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index a85bae76af..ff05a1e00a 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -9,7 +9,6 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from .GlobalStack import GlobalStack from .ExtruderStack import ExtruderStack -from .CuraContainerStack import CuraContainerStack from typing import Optional @@ -31,6 +30,11 @@ class CuraStackBuilder: machine_definition = definitions[0] name = registry.createUniqueName("machine", "", name, machine_definition.name) + # Make sure the new name does not collide with any definition or (quality) profile + # createUniqueName() only looks at other stacks, but not at definitions or quality profiles + # Note that we don't go for uniqueName() immediately because that function matches with ignore_case set to true + if registry.findContainers(id = name): + name = registry.uniqueName(name) new_global_stack = cls.createGlobalStack( new_stack_id = name, @@ -76,6 +80,8 @@ class CuraStackBuilder: user_container = InstanceContainer(new_stack_id + "_user") user_container.addMetaDataEntry("type", "user") user_container.addMetaDataEntry("extruder", new_stack_id) + from cura.CuraApplication import CuraApplication + user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) user_container.setDefinition(machine_definition) stack.setUserChanges(user_container) @@ -124,6 +130,8 @@ class CuraStackBuilder: user_container = InstanceContainer(new_stack_id + "_user") user_container.addMetaDataEntry("type", "user") user_container.addMetaDataEntry("machine", new_stack_id) + from cura.CuraApplication import CuraApplication + user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) user_container.setDefinition(definition) stack.setUserChanges(user_container) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index b82144bf1e..70f95caae5 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant #For communicating data and events to Qt. @@ -15,8 +15,13 @@ from UM.Settings.ContainerRegistry import ContainerRegistry #Finding containers from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingFunction import SettingFunction from UM.Settings.ContainerStack import ContainerStack -from UM.Settings.DefinitionContainer import DefinitionContainer -from typing import Optional, List +from UM.Settings.Interfaces import DefinitionContainerInterface +from typing import Optional, List, TYPE_CHECKING, Union + +if TYPE_CHECKING: + from cura.Settings.ExtruderStack import ExtruderStack + from cura.Settings.GlobalStack import GlobalStack + ## Manages all existing extruder stacks. # @@ -35,7 +40,7 @@ class ExtruderManager(QObject): ## Registers listeners and such to listen to changes to the extruders. def __init__(self, parent = None): super().__init__(parent) - self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. + self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. self._active_extruder_index = 0 self._selected_object_extruders = [] Application.getInstance().globalContainerStackChanged.connect(self.__globalContainerStackChanged) @@ -69,11 +74,13 @@ class ExtruderManager(QObject): except KeyError: return 0 - @pyqtProperty("QVariantMap", notify=extrudersChanged) + @pyqtProperty("QVariantMap", notify = extrudersChanged) def extruderIds(self): map = {} - for position in self._extruder_trains[Application.getInstance().getGlobalContainerStack().getId()]: - map[position] = self._extruder_trains[Application.getInstance().getGlobalContainerStack().getId()][position].getId() + global_stack_id = Application.getInstance().getGlobalContainerStack().getId() + if global_stack_id in self._extruder_trains: + for position in self._extruder_trains[global_stack_id]: + map[position] = self._extruder_trains[global_stack_id][position].getId() return map @pyqtSlot(str, result = str) @@ -81,7 +88,7 @@ class ExtruderManager(QObject): for position in self._extruder_trains[Application.getInstance().getGlobalContainerStack().getId()]: extruder = self._extruder_trains[Application.getInstance().getGlobalContainerStack().getId()][position] if extruder.getId() == id: - return extruder.findContainer(type = "quality_changes").getId() + return extruder.qualityChanges.getId() ## The instance of the singleton pattern. # @@ -145,13 +152,14 @@ class ExtruderManager(QObject): selected_nodes.append(node) # Then, figure out which nodes are used by those selected nodes. + global_stack = Application.getInstance().getGlobalContainerStack() + current_extruder_trains = self._extruder_trains.get(global_stack.getId()) for node in selected_nodes: extruder = node.callDecoration("getActiveExtruder") if extruder: object_extruders.add(extruder) - else: - global_stack = Application.getInstance().getGlobalContainerStack() - object_extruders.add(self._extruder_trains[global_stack.getId()]["0"].getId()) + elif current_extruder_trains: + object_extruders.add(current_extruder_trains["0"].getId()) self._selected_object_extruders = list(object_extruders) @@ -165,7 +173,7 @@ class ExtruderManager(QObject): self._selected_object_extruders = [] self.selectedObjectExtrudersChanged.emit() - def getActiveExtruderStack(self) -> ContainerStack: + def getActiveExtruderStack(self) -> Optional["ExtruderStack"]: global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack: @@ -175,7 +183,7 @@ class ExtruderManager(QObject): return None ## Get an extruder stack by index - def getExtruderStack(self, index): + def getExtruderStack(self, index) -> Optional["ExtruderStack"]: global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack: if global_container_stack.getId() in self._extruder_trains: @@ -184,7 +192,7 @@ class ExtruderManager(QObject): return None ## Get all extruder stacks - def getExtruderStacks(self): + def getExtruderStacks(self) -> List["ExtruderStack"]: result = [] for i in range(self.extruderCount): result.append(self.getExtruderStack(i)) @@ -196,7 +204,7 @@ class ExtruderManager(QObject): # \param machine_definition The machine definition to add the extruders for. # \param machine_id The machine_id to add the extruders for. @deprecated("Use CuraStackBuilder", "2.6") - def addMachineExtruders(self, machine_definition: DefinitionContainer, machine_id: str) -> None: + def addMachineExtruders(self, machine_definition: DefinitionContainerInterface, machine_id: str) -> None: changed = False machine_definition_id = machine_definition.getId() if machine_id not in self._extruder_trains: @@ -230,6 +238,13 @@ class ExtruderManager(QObject): if machine_id not in self._extruder_trains: self._extruder_trains[machine_id] = {} changed = True + + # do not register if an extruder has already been registered at the position on this machine + if any(item.getId() == extruder_train.getId() for item in self._extruder_trains[machine_id].values()): + Logger.log("w", "Extruder [%s] has already been registered on machine [%s], not doing anything", + extruder_train.getId(), machine_id) + return + if extruder_train: self._extruder_trains[machine_id][extruder_train.getMetaDataEntry("position")] = extruder_train changed = True @@ -249,7 +264,7 @@ class ExtruderManager(QObject): # \param position The position of this extruder train in the extruder slots of the machine. # \param machine_id The id of the "global" stack this extruder is linked to. @deprecated("Use CuraStackBuilder::createExtruderStack", "2.6") - def createExtruderTrain(self, extruder_definition: DefinitionContainer, machine_definition: DefinitionContainer, + def createExtruderTrain(self, extruder_definition: DefinitionContainerInterface, machine_definition: DefinitionContainerInterface, position, machine_id: str) -> None: # Cache some things. container_registry = ContainerRegistry.getInstance() @@ -296,9 +311,9 @@ class ExtruderManager(QObject): if preferred_material_id: global_stack = ContainerRegistry.getInstance().findContainerStacks(id = machine_id) if global_stack: - approximate_material_diameter = round(global_stack[0].getProperty("material_diameter", "value")) + approximate_material_diameter = str(round(global_stack[0].getProperty("material_diameter", "value"))) else: - approximate_material_diameter = round(machine_definition.getProperty("material_diameter", "value")) + approximate_material_diameter = str(round(machine_definition.getProperty("material_diameter", "value"))) search_criteria = { "type": "material", "id": preferred_material_id, "approximate_diameter": approximate_material_diameter} if machine_definition.getMetaDataEntry("has_machine_materials"): @@ -357,6 +372,8 @@ class ExtruderManager(QObject): user_profile = InstanceContainer(extruder_stack_id + "_current_settings") # Add an empty user profile. user_profile.addMetaDataEntry("type", "user") user_profile.addMetaDataEntry("extruder", extruder_stack_id) + from cura.CuraApplication import CuraApplication + user_profile.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) user_profile.setDefinition(machine_definition) container_registry.addContainer(user_profile) container_stack.addContainer(user_profile) @@ -396,7 +413,7 @@ class ExtruderManager(QObject): # list. # # \return A list of extruder stacks. - def getUsedExtruderStacks(self): + def getUsedExtruderStacks(self) -> List["ContainerStack"]: global_stack = Application.getInstance().getGlobalContainerStack() container_registry = ContainerRegistry.getInstance() @@ -450,17 +467,17 @@ class ExtruderManager(QObject): ## Removes the container stack and user profile for the extruders for a specific machine. # # \param machine_id The machine to remove the extruders for. - def removeMachineExtruders(self, machine_id): + def removeMachineExtruders(self, machine_id: str): for extruder in self.getMachineExtruders(machine_id): - containers = ContainerRegistry.getInstance().findInstanceContainers(type = "user", extruder = extruder.getId()) - for container in containers: - ContainerRegistry.getInstance().removeContainer(container.getId()) + ContainerRegistry.getInstance().removeContainer(extruder.userChanges.getId()) ContainerRegistry.getInstance().removeContainer(extruder.getId()) + if machine_id in self._extruder_trains: + del self._extruder_trains[machine_id] ## Returns extruders for a specific machine. # # \param machine_id The machine to get the extruders of. - def getMachineExtruders(self, machine_id): + def getMachineExtruders(self, machine_id: str): if machine_id not in self._extruder_trains: return [] return [self._extruder_trains[machine_id][name] for name in self._extruder_trains[machine_id]] @@ -469,7 +486,7 @@ class ExtruderManager(QObject): # # The first element is the global container stack, followed by any extruder stacks. # \return \type{List[ContainerStack]} - def getActiveGlobalAndExtruderStacks(self): + def getActiveGlobalAndExtruderStacks(self) -> Optional[List[Union["ExtruderStack", "GlobalStack"]]]: global_stack = Application.getInstance().getGlobalContainerStack() if not global_stack: return None @@ -481,7 +498,7 @@ class ExtruderManager(QObject): ## Returns the list of active extruder stacks. # # \return \type{List[ContainerStack]} a list of - def getActiveExtruderStacks(self): + def getActiveExtruderStacks(self) -> List["ExtruderStack"]: global_stack = Application.getInstance().getGlobalContainerStack() result = [] @@ -509,7 +526,7 @@ class ExtruderManager(QObject): # # This is exposed to SettingFunction so it can be used in value functions. # - # \param key The key of the setting to retieve values for. + # \param key The key of the setting to retrieve values for. # # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. # If no extruder has the value, the list will contain the global value. @@ -519,6 +536,10 @@ class ExtruderManager(QObject): result = [] for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()): + # only include values from extruders that are "active" for the current machine instance + if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value"): + continue + value = extruder.getRawProperty(key, "value") if value is None: diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index 18a9969828..002778038b 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -1,22 +1,21 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from typing import Any - -from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot +from typing import Any, TYPE_CHECKING, Optional from UM.Decorators import override from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase -from UM.Settings.ContainerStack import ContainerStack, InvalidContainerStackError +from UM.Settings.ContainerStack import ContainerStack from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Settings.Interfaces import ContainerInterface from . import Exceptions from .CuraContainerStack import CuraContainerStack from .ExtruderManager import ExtruderManager +if TYPE_CHECKING: + from cura.Settings.GlobalStack import GlobalStack + ## Represents an Extruder and its related containers. # # @@ -38,6 +37,10 @@ class ExtruderStack(CuraContainerStack): # For backward compatibility: Register the extruder with the Extruder Manager ExtruderManager.getInstance().registerExtruder(self, stack.id) + @override(ContainerStack) + def getNextStack(self) -> Optional["GlobalStack"]: + return super().getNextStack() + @classmethod def getLoadingPriority(cls) -> int: return 3 @@ -59,6 +62,13 @@ class ExtruderStack(CuraContainerStack): if not super().getProperty(key, "settable_per_extruder"): return self.getNextStack().getProperty(key, property_name) + limit_to_extruder = super().getProperty(key, "limit_to_extruder") + if (limit_to_extruder is not None and limit_to_extruder != "-1") and self.getMetaDataEntry("position") != str(limit_to_extruder): + if str(limit_to_extruder) in self.getNextStack().extruders: + result = self.getNextStack().extruders[str(limit_to_extruder)].getProperty(key, property_name) + if result is not None: + return result + return super().getProperty(key, property_name) @override(CuraContainerStack) diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index 74680bb293..26943e61ca 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -1,12 +1,15 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty, pyqtSlot +from PyQt5.QtCore import Qt, pyqtSignal, pyqtProperty, QTimer +from typing import Iterable import UM.Qt.ListModel from UM.Application import Application - +import UM.FlameProfiler from cura.Settings.ExtruderManager import ExtruderManager +from cura.Settings.ExtruderStack import ExtruderStack #To listen to changes on the extruders. +from cura.Settings.MachineManager import MachineManager #To listen to changes on the extruders of the currently active machine. ## Model that holds extruders. # @@ -58,19 +61,21 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): self.addRoleName(self.MaterialRole, "material") self.addRoleName(self.VariantRole, "variant") + self._update_extruder_timer = QTimer() + self._update_extruder_timer.setInterval(100) + self._update_extruder_timer.setSingleShot(True) + self._update_extruder_timer.timeout.connect(self.__updateExtruders) + self._add_global = False self._simple_names = False - self._active_extruder_stack = None + self._active_machine_extruders = [] # type: Iterable[ExtruderStack] + self._add_optional_extruder = False #Listen to changes. - Application.getInstance().globalContainerStackChanged.connect(self._updateExtruders) - manager = ExtruderManager.getInstance() - - self._updateExtruders() - - manager.activeExtruderChanged.connect(self._onActiveExtruderChanged) - self._onActiveExtruderChanged() + Application.getInstance().globalContainerStackChanged.connect(self._extrudersChanged) #When the machine is swapped we must update the active machine extruders. + ExtruderManager.getInstance().extrudersChanged.connect(self._extrudersChanged) #When the extruders change we must link to the stack-changed signal of the new extruder. + self._extrudersChanged() #Also calls _updateExtruders. def setAddGlobal(self, add): if add != self._add_global: @@ -84,6 +89,18 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): def addGlobal(self): return self._add_global + addOptionalExtruderChanged = pyqtSignal() + + def setAddOptionalExtruder(self, add_optional_extruder): + if add_optional_extruder != self._add_optional_extruder: + self._add_optional_extruder = add_optional_extruder + self.addOptionalExtruderChanged.emit() + self._updateExtruders() + + @pyqtProperty(bool, fset = setAddOptionalExtruder, notify = addOptionalExtruderChanged) + def addOptionalExtruder(self): + return self._add_optional_extruder + ## Set the simpleNames property. def setSimpleNames(self, simple_names): if simple_names != self._simple_names: @@ -99,40 +116,59 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): def simpleNames(self): return self._simple_names - def _onActiveExtruderChanged(self): - manager = ExtruderManager.getInstance() - active_extruder_stack = manager.getActiveExtruderStack() - if self._active_extruder_stack != active_extruder_stack: - if self._active_extruder_stack: - self._active_extruder_stack.containersChanged.disconnect(self._onExtruderStackContainersChanged) + ## Links to the stack-changed signal of the new extruders when an extruder + # is swapped out or added in the current machine. + # + # \param machine_id The machine for which the extruders changed. This is + # filled by the ExtruderManager.extrudersChanged signal when coming from + # that signal. Application.globalContainerStackChanged doesn't fill this + # signal; it's assumed to be the current printer in that case. + def _extrudersChanged(self, machine_id = None): + if machine_id is not None: + if Application.getInstance().getGlobalContainerStack() is None: + return #No machine, don't need to update the current machine's extruders. + if machine_id != Application.getInstance().getGlobalContainerStack().getId(): + return #Not the current machine. + #Unlink from old extruders. + for extruder in self._active_machine_extruders: + extruder.containersChanged.disconnect(self._onExtruderStackContainersChanged) - if active_extruder_stack: - # Update the model when the material container is changed - active_extruder_stack.containersChanged.connect(self._onExtruderStackContainersChanged) - self._active_extruder_stack = active_extruder_stack + #Link to new extruders. + self._active_machine_extruders = [] + extruder_manager = ExtruderManager.getInstance() + for extruder in extruder_manager.getExtruderStacks(): + extruder.containersChanged.connect(self._onExtruderStackContainersChanged) + self._active_machine_extruders.append(extruder) + self._updateExtruders() #Since the new extruders may have different properties, update our own model. def _onExtruderStackContainersChanged(self, container): - # The ExtrudersModel needs to be updated when the material-name or -color changes, because the user identifies extruders by material-name - self._updateExtruders() + # Update when there is an empty container or material change + if container.getMetaDataEntry("type") == "material" or container.getMetaDataEntry("type") is None: + # The ExtrudersModel needs to be updated when the material-name or -color changes, because the user identifies extruders by material-name + self._updateExtruders() + modelChanged = pyqtSignal() + def _updateExtruders(self): + self._update_extruder_timer.start() + ## Update the list of extruders. # # This should be called whenever the list of extruders changes. - def _updateExtruders(self): + @UM.FlameProfiler.profile + def __updateExtruders(self): changed = False if self.rowCount() != 0: changed = True items = [] - global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack: if self._add_global: - material = global_container_stack.findContainer({ "type": "material" }) + material = global_container_stack.material color = material.getMetaDataEntry("color_code", default = self.defaultColors[0]) if material else self.defaultColors[0] item = { "id": global_container_stack.getId(), @@ -147,9 +183,6 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): machine_extruder_count = global_container_stack.getProperty("machine_extruder_count", "value") manager = ExtruderManager.getInstance() for extruder in manager.getMachineExtruders(global_container_stack.getId()): - extruder_name = extruder.getName() - material = extruder.findContainer({ "type": "material" }) - variant = extruder.findContainer({"type": "variant"}) position = extruder.getMetaDataEntry("position", default = "0") # Get the position try: position = int(position) @@ -157,6 +190,9 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): position = -1 if position >= machine_extruder_count: continue + extruder_name = extruder.getName() + material = extruder.material + variant = extruder.variant default_color = self.defaultColors[position] if position >= 0 and position < len(self.defaultColors) else self.defaultColors[0] color = material.getMetaDataEntry("color_code", default = default_color) if material else default_color @@ -174,5 +210,16 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): if changed: items.sort(key = lambda i: i["index"]) + # We need optional extruder to be last, so add it after we do sorting. + # This way we can simply intrepret the -1 of the index as the last item (which it now always is) + if self._add_optional_extruder: + item = { + "id": "", + "name": "Not overridden", + "color": "#ffffff", + "index": -1, + "definition": "" + } + items.append(item) self.setItems(items) self.modelChanged.emit() diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py old mode 100644 new mode 100755 index 0e2c2db5e8..e49b1a25de --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -1,19 +1,17 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from typing import Any +from typing import Any, Dict, Optional -from PyQt5.QtCore import pyqtProperty, pyqtSlot, pyqtSignal +from PyQt5.QtCore import pyqtProperty from UM.Decorators import override from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase -from UM.Settings.ContainerStack import ContainerStack, InvalidContainerStackError -from UM.Settings.InstanceContainer import InstanceContainer +from UM.Settings.ContainerStack import ContainerStack from UM.Settings.SettingInstance import InstanceState -from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.Interfaces import ContainerInterface +from UM.Logger import Logger from . import Exceptions from .CuraContainerStack import CuraContainerStack @@ -26,7 +24,7 @@ class GlobalStack(CuraContainerStack): self.addMetaDataEntry("type", "machine") # For backward compatibility - self._extruders = [] + self._extruders = {} # This property is used to track which settings we are calculating the "resolve" for # and if so, to bypass the resolve to prevent an infinite recursion that would occur @@ -36,14 +34,25 @@ class GlobalStack(CuraContainerStack): ## Get the list of extruders of this stack. # # \return The extruders registered with this stack. - @pyqtProperty("QVariantList") - def extruders(self) -> list: + @pyqtProperty("QVariantMap") + def extruders(self) -> Dict[str, "ExtruderStack"]: return self._extruders @classmethod def getLoadingPriority(cls) -> int: return 2 + def getConfigurationTypeFromSerialized(self, serialized: str) -> Optional[str]: + configuration_type = None + try: + parser = self._readAndValidateSerialized(serialized) + configuration_type = parser["metadata"].get("type") + if configuration_type == "machine": + configuration_type = "machine_stack" + except Exception as e: + Logger.log("e", "Could not get configuration type: %s", e) + return configuration_type + ## Add an extruder to the list of extruders of this stack. # # \param extruder The extruder to add. @@ -53,9 +62,18 @@ class GlobalStack(CuraContainerStack): def addExtruder(self, extruder: ContainerStack) -> None: extruder_count = self.getProperty("machine_extruder_count", "value") if extruder_count and len(self._extruders) + 1 > extruder_count: - raise Exceptions.TooManyExtrudersError("Tried to add extruder to {id} but its extruder count is {count}".format(id = self.id, count = extruder_count)) + Logger.log("w", "Adding extruder {meta} to {id} but its extruder count is {count}".format(id = self.id, count = extruder_count, meta = str(extruder.getMetaData()))) + return - self._extruders.append(extruder) + position = extruder.getMetaDataEntry("position") + if position is None: + Logger.log("w", "No position defined for extruder {extruder}, cannot add it to stack {stack}", extruder = extruder.id, stack = self.id) + return + + if any(item.getId() == extruder.id for item in self._extruders.values()): + Logger.log("w", "Extruder [%s] has already been added to this stack [%s]", extruder.id, self._id) + return + self._extruders[position] = extruder ## Overridden from ContainerStack # @@ -73,6 +91,7 @@ class GlobalStack(CuraContainerStack): if not self.definition.findDefinitions(key = key): return None + # Handle the "resolve" property. if self._shouldResolve(key, property_name): self._resolving_settings.add(key) resolve = super().getProperty(key, "resolve") @@ -80,6 +99,16 @@ class GlobalStack(CuraContainerStack): if resolve is not None: return resolve + # Handle the "limit_to_extruder" property. + limit_to_extruder = super().getProperty(key, "limit_to_extruder") + if limit_to_extruder is not None and limit_to_extruder != "-1" and limit_to_extruder in self._extruders: + if super().getProperty(key, "settable_per_extruder"): + result = self._extruders[str(limit_to_extruder)].getProperty(key, property_name) + if result is not None: + return result + else: + Logger.log("e", "Setting {setting} has limit_to_extruder but is not settable per extruder!", setting = key) + return super().getProperty(key, property_name) ## Overridden from ContainerStack @@ -89,6 +118,21 @@ class GlobalStack(CuraContainerStack): def setNextStack(self, next_stack: ContainerStack) -> None: raise Exceptions.InvalidOperationError("Global stack cannot have a next stack!") + ## Gets the approximate filament diameter that the machine requires. + # + # The approximate material diameter is the material diameter rounded to + # the nearest millimetre. + # + # If the machine has no requirement for the diameter, -1 is returned. + # + # \return The approximate filament diameter for the printer, as a string. + @pyqtProperty(str) + def approximateMaterialDiameter(self) -> str: + material_diameter = self.definition.getProperty("material_diameter", "value") + if material_diameter is None: + return "-1" + return str(round(float(material_diameter))) #Round, then convert back to string. + # protected: # Determine whether or not we should try to get the "resolve" property instead of the diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 66aee70f14..61fec50992 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -16,16 +16,14 @@ from UM.Decorators import deprecated from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.ContainerStack import ContainerStack from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.SettingDefinition import SettingDefinition from UM.Settings.SettingFunction import SettingFunction -from UM.Settings.Validator import ValidatorState -from UM.Signal import postponeSignals +from UM.Signal import postponeSignals, CompressTechnique +import UM.FlameProfiler from cura.QualityManager import QualityManager from cura.PrinterOutputDevice import PrinterOutputDevice from cura.Settings.ExtruderManager import ExtruderManager -from .GlobalStack import GlobalStack from .CuraStackBuilder import CuraStackBuilder from UM.i18n import i18nCatalog @@ -35,15 +33,28 @@ from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: from UM.Settings.DefinitionContainer import DefinitionContainer + from cura.Settings.CuraContainerStack import CuraContainerStack + from cura.Settings.GlobalStack import GlobalStack import os + class MachineManager(QObject): def __init__(self, parent = None): super().__init__(parent) - self._active_container_stack = None # type: ContainerStack - self._global_container_stack = None # type: ContainerStack + self._active_container_stack = None # type: CuraContainerStack + self._global_container_stack = None # type: GlobalStack + + self._error_check_timer = QTimer() + self._error_check_timer.setInterval(250) + self._error_check_timer.setSingleShot(True) + self._error_check_timer.timeout.connect(self._updateStacksHaveErrors) + + self._instance_container_timer = QTimer() + self._instance_container_timer.setInterval(250) + self._instance_container_timer.setSingleShot(True) + self._instance_container_timer.timeout.connect(self.__onInstanceContainersChanged) Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged) ## When the global container is changed, active material probably needs to be updated. @@ -81,7 +92,7 @@ class MachineManager(QObject): self._printer_output_devices = [] Application.getInstance().getOutputDeviceManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) - if active_machine_id != "": + if active_machine_id != "" and ContainerRegistry.getInstance().findContainerStacks(id = active_machine_id): # An active machine was saved, so restore it. self.setActiveMachine(active_machine_id) if self._global_container_stack and self._global_container_stack.getProperty("machine_extruder_count", "value") > 1: @@ -94,11 +105,6 @@ class MachineManager(QObject): self._material_incompatible_message = Message(catalog.i18nc("@info:status", "The selected material is incompatible with the selected machine or configuration.")) - self._error_check_timer = QTimer() - self._error_check_timer.setInterval(250) - self._error_check_timer.setSingleShot(True) - self._error_check_timer.timeout.connect(self._updateStacksHaveErrors) - globalContainerChanged = pyqtSignal() # Emitted whenever the global stack is changed (ie: when changing between printers, changing a global profile, but not when changing a value) activeMaterialChanged = pyqtSignal() activeVariantChanged = pyqtSignal() @@ -134,7 +140,7 @@ class MachineManager(QObject): return self._printer_output_devices @pyqtProperty(int, constant=True) - def totalNumberOfSettings(self): + def totalNumberOfSettings(self) -> int: return len(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0].getAllKeys()) def _onHotendIdChanged(self, index: Union[str, int], hotend_id: str) -> None: @@ -158,7 +164,7 @@ class MachineManager(QObject): else: Logger.log("w", "No variant found for printer definition %s with id %s" % (self._global_container_stack.getBottom().getId(), hotend_id)) - def _onMaterialIdChanged(self, index, material_id): + def _onMaterialIdChanged(self, index: Union[str, int], material_id: str): if not self._global_container_stack: return @@ -215,6 +221,7 @@ class MachineManager(QObject): if old_index is not None: extruder_manager.setActiveExtruderIndex(old_index) + self._auto_materials_changed = {} #Processed all of them now. def _autoUpdateHotends(self): extruder_manager = ExtruderManager.getInstance() @@ -231,6 +238,7 @@ class MachineManager(QObject): if old_index is not None: extruder_manager.setActiveExtruderIndex(old_index) + self._auto_hotends_changed = {} #Processed all of them now. def _onGlobalContainerChanged(self): if self._global_container_stack: @@ -290,8 +298,7 @@ class MachineManager(QObject): quality = self._global_container_stack.quality quality.nameChanged.connect(self._onQualityNameChanged) - - self._updateStacksHaveErrors() + self._error_check_timer.start() ## Update self._stacks_valid according to _checkStacksForErrors and emit if change. def _updateStacksHaveErrors(self): @@ -308,23 +315,23 @@ class MachineManager(QObject): if not self._active_container_stack: self._active_container_stack = self._global_container_stack - self._updateStacksHaveErrors() + self._error_check_timer.start() if old_active_container_stack != self._active_container_stack: # Many methods and properties related to the active quality actually depend # on _active_container_stack. If it changes, then the properties change. self.activeQualityChanged.emit() - def _onInstanceContainersChanged(self, container): - container_type = container.getMetaDataEntry("type") - + def __onInstanceContainersChanged(self): + self.activeQualityChanged.emit() self.activeVariantChanged.emit() self.activeMaterialChanged.emit() - self.activeQualityChanged.emit() + self._error_check_timer.start() - self._updateStacksHaveErrors() + def _onInstanceContainersChanged(self, container): + self._instance_container_timer.start() - def _onPropertyChanged(self, key, property_name): + def _onPropertyChanged(self, key: str, property_name: str): if property_name == "value": # Notify UI items, such as the "changed" star in profile pull down menu. self.activeStackValueChanged.emit() @@ -408,7 +415,7 @@ class MachineManager(QObject): ## Delete a user setting from the global stack and all extruder stacks. # \param key \type{str} the name of the key to delete @pyqtSlot(str) - def clearUserSettingAllCurrentStacks(self, key): + def clearUserSettingAllCurrentStacks(self, key: str): if not self._global_container_stack: return @@ -464,8 +471,8 @@ class MachineManager(QObject): return "" - @pyqtProperty("QObject", notify = globalContainerChanged) - def activeMachine(self) -> GlobalStack: + @pyqtProperty(QObject, notify = globalContainerChanged) + def activeMachine(self) -> "GlobalStack": return self._global_container_stack @pyqtProperty(str, notify = activeStackChanged) @@ -525,6 +532,22 @@ class MachineManager(QObject): return "" + @pyqtProperty("QVariantMap", notify = activeVariantChanged) + def allActiveVariantIds(self): + if not self._global_container_stack: + return {} + + result = {} + + for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): + variant_container = stack.variant + if not variant_container: + continue + + result[stack.getId()] = variant_container.getId() + + return result + @pyqtProperty("QVariantMap", notify = activeMaterialChanged) def allActiveMaterialIds(self): if not self._global_container_stack: @@ -548,7 +571,7 @@ class MachineManager(QObject): # \return The layer height of the currently active quality profile. If # there is no quality profile, this returns 0. @pyqtProperty(float, notify=activeQualityChanged) - def activeQualityLayerHeight(self): + def activeQualityLayerHeight(self) -> float: if not self._global_container_stack: return 0 @@ -565,7 +588,7 @@ class MachineManager(QObject): value = value(self._global_container_stack) return value - return 0 #No quality profile. + return 0 # No quality profile. ## Get the Material ID associated with the currently active material # \returns MaterialID (string) if found, empty string otherwise @@ -587,7 +610,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify=activeQualityChanged) - def activeQualityName(self): + def activeQualityName(self) -> str: if self._active_container_stack and self._global_container_stack: quality = self._global_container_stack.qualityChanges if quality and not isinstance(quality, type(self._empty_quality_changes_container)): @@ -598,7 +621,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify=activeQualityChanged) - def activeQualityId(self): + def activeQualityId(self) -> str: if self._active_container_stack: quality = self._active_container_stack.qualityChanges if quality and not isinstance(quality, type(self._empty_quality_changes_container)): @@ -609,7 +632,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify=activeQualityChanged) - def globalQualityId(self): + def globalQualityId(self) -> str: if self._global_container_stack: quality = self._global_container_stack.qualityChanges if quality and not isinstance(quality, type(self._empty_quality_changes_container)): @@ -620,7 +643,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify = activeQualityChanged) - def activeQualityType(self): + def activeQualityType(self) -> str: if self._active_container_stack: quality = self._active_container_stack.quality if quality: @@ -628,7 +651,7 @@ class MachineManager(QObject): return "" @pyqtProperty(bool, notify = activeQualityChanged) - def isActiveQualitySupported(self): + def isActiveQualitySupported(self) -> bool: if self._active_container_stack: quality = self._active_container_stack.quality if quality: @@ -642,7 +665,7 @@ class MachineManager(QObject): # \todo Ideally, this method would be named activeQualityId(), and the other one # would be named something like activeQualityOrQualityChanges() for consistency @pyqtProperty(str, notify = activeQualityChanged) - def activeQualityContainerId(self): + def activeQualityContainerId(self) -> str: # We're using the active stack instead of the global stack in case the list of qualities differs per extruder if self._global_container_stack: quality = self._active_container_stack.quality @@ -651,7 +674,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify = activeQualityChanged) - def activeQualityChangesId(self): + def activeQualityChangesId(self) -> str: if self._active_container_stack: changes = self._active_container_stack.qualityChanges if changes and changes.getId() != "empty": @@ -660,7 +683,7 @@ class MachineManager(QObject): ## Check if a container is read_only @pyqtSlot(str, result = bool) - def isReadOnly(self, container_id) -> bool: + def isReadOnly(self, container_id: str) -> bool: containers = ContainerRegistry.getInstance().findInstanceContainers(id = container_id) if not containers or not self._active_container_stack: return True @@ -668,7 +691,7 @@ class MachineManager(QObject): ## Copy the value of the setting of the current extruder to all other extruders as well as the global container. @pyqtSlot(str) - def copyValueToExtruders(self, key): + def copyValueToExtruders(self, key: str): if not self._active_container_stack or self._global_container_stack.getProperty("machine_extruder_count", "value") <= 1: return @@ -682,8 +705,8 @@ class MachineManager(QObject): ## Set the active material by switching out a container # Depending on from/to material+current variant, a quality profile is chosen and set. @pyqtSlot(str) - def setActiveMaterial(self, material_id): - with postponeSignals(*self._getContainerChangedSignals(), compress = True): + def setActiveMaterial(self, material_id: str): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): containers = ContainerRegistry.getInstance().findInstanceContainers(id = material_id) if not containers or not self._active_container_stack: return @@ -698,7 +721,7 @@ class MachineManager(QObject): Logger.log("w", "While trying to set the active material, no material was found to replace it.") return - if old_quality_changes and old_quality_changes.getId() == "empty_quality_changes": + if old_quality_changes and isinstance(old_quality_changes, type(self._empty_quality_changes_container)): old_quality_changes = None self.blurSettings.emit() @@ -731,11 +754,12 @@ class MachineManager(QObject): candidate_quality = quality_manager.findQualityByQualityType(quality_type, quality_manager.getWholeMachineDefinition(machine_definition), [material_container]) - if not candidate_quality or candidate_quality.getId() == "empty_quality": + + if not candidate_quality or isinstance(candidate_quality, type(self._empty_quality_changes_container)): + Logger.log("d", "Attempting to find fallback quality") # Fall back to a quality (which must be compatible with all other extruders) new_qualities = quality_manager.findAllUsableQualitiesForMachineAndExtruders( self._global_container_stack, ExtruderManager.getInstance().getExtruderStacks()) - if new_qualities: new_quality_id = new_qualities[0].getId() # Just pick the first available one else: @@ -747,8 +771,8 @@ class MachineManager(QObject): self.setActiveQuality(new_quality_id) @pyqtSlot(str) - def setActiveVariant(self, variant_id): - with postponeSignals(*self._getContainerChangedSignals(), compress = True): + def setActiveVariant(self, variant_id: str): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): containers = ContainerRegistry.getInstance().findInstanceContainers(id = variant_id) if not containers or not self._active_container_stack: return @@ -757,10 +781,9 @@ class MachineManager(QObject): old_material = self._active_container_stack.material if old_variant: self.blurSettings.emit() - variant_index = self._active_container_stack.getContainerIndex(old_variant) - self._active_container_stack.replaceContainer(variant_index, containers[0]) - Logger.log("d", "Active variant changed") - preferred_material = None + self._active_container_stack.variant = containers[0] + Logger.log("d", "Active variant changed to {active_variant_id}".format(active_variant_id = containers[0].getId())) + preferred_material_name = None if old_material: preferred_material_name = old_material.getName() @@ -771,8 +794,8 @@ class MachineManager(QObject): ## set the active quality # \param quality_id The quality_id of either a quality or a quality_changes @pyqtSlot(str) - def setActiveQuality(self, quality_id): - with postponeSignals(*self._getContainerChangedSignals(), compress = True): + def setActiveQuality(self, quality_id: str): + with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): self.blurSettings.emit() containers = ContainerRegistry.getInstance().findInstanceContainers(id = quality_id) @@ -808,8 +831,8 @@ class MachineManager(QObject): name_changed_connect_stacks.append(stack_quality) name_changed_connect_stacks.append(stack_quality_changes) - self._replaceQualityOrQualityChangesInStack(stack, stack_quality) - self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes) + self._replaceQualityOrQualityChangesInStack(stack, stack_quality, postpone_emit=True) + self._replaceQualityOrQualityChangesInStack(stack, stack_quality_changes, postpone_emit=True) # Send emits that are postponed in replaceContainer. # Here the stacks are finished replacing and every value can be resolved based on the current state. @@ -829,7 +852,8 @@ class MachineManager(QObject): # # \param quality_name \type{str} the name of the quality. # \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes". - def determineQualityAndQualityChangesForQualityType(self, quality_type): + @UM.FlameProfiler.profile + def determineQualityAndQualityChangesForQualityType(self, quality_type: str): quality_manager = QualityManager.getInstance() result = [] empty_quality_changes = self._empty_quality_changes_container @@ -866,7 +890,7 @@ class MachineManager(QObject): # # \param quality_changes_name \type{str} the name of the quality changes. # \return \type{List[Dict]} with keys "stack", "quality" and "quality_changes". - def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name): + def _determineQualityAndQualityChangesForQualityChanges(self, quality_changes_name: str): result = [] quality_manager = QualityManager.getInstance() @@ -922,18 +946,18 @@ class MachineManager(QObject): return result - def _replaceQualityOrQualityChangesInStack(self, stack, container, postpone_emit = False): + def _replaceQualityOrQualityChangesInStack(self, stack: "CuraContainerStack", container: "InstanceContainer", postpone_emit = False): # Disconnect the signal handling from the old container. container_type = container.getMetaDataEntry("type") if container_type == "quality": stack.quality.nameChanged.disconnect(self._onQualityNameChanged) - stack.setQuality(container) + stack.setQuality(container, postpone_emit = postpone_emit) stack.qualityChanges.nameChanged.connect(self._onQualityNameChanged) elif container_type == "quality_changes" or container_type is None: # If the container is an empty container, we need to change the quality_changes. # Quality can never be set to empty. stack.qualityChanges.nameChanged.disconnect(self._onQualityNameChanged) - stack.setQualityChanges(container) + stack.setQualityChanges(container, postpone_emit = postpone_emit) stack.qualityChanges.nameChanged.connect(self._onQualityNameChanged) self._onQualityNameChanged() @@ -941,7 +965,7 @@ class MachineManager(QObject): Application.getInstance().discardOrKeepProfileChanges() @pyqtProperty(str, notify = activeVariantChanged) - def activeVariantName(self): + def activeVariantName(self) -> str: if self._active_container_stack: variant = self._active_container_stack.variant if variant: @@ -950,7 +974,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify = activeVariantChanged) - def activeVariantId(self): + def activeVariantId(self) -> str: if self._active_container_stack: variant = self._active_container_stack.variant if variant: @@ -959,7 +983,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify = globalContainerChanged) - def activeDefinitionId(self): + def activeDefinitionId(self) -> str: if self._global_container_stack: definition = self._global_container_stack.getBottom() if definition: @@ -968,7 +992,7 @@ class MachineManager(QObject): return "" @pyqtProperty(str, notify=globalContainerChanged) - def activeDefinitionName(self): + def activeDefinitionName(self) -> str: if self._global_container_stack: definition = self._global_container_stack.getBottom() if definition: @@ -980,7 +1004,7 @@ class MachineManager(QObject): # \returns DefinitionID (string) if found, empty string otherwise # \sa getQualityDefinitionId @pyqtProperty(str, notify = globalContainerChanged) - def activeQualityDefinitionId(self): + def activeQualityDefinitionId(self) -> str: if self._global_container_stack: return self.getQualityDefinitionId(self._global_container_stack.getBottom()) return "" @@ -989,14 +1013,14 @@ class MachineManager(QObject): # This is normally the id of the definition itself, but machines can specify a different definition to inherit qualities from # \param definition (DefinitionContainer) machine definition # \returns DefinitionID (string) if found, empty string otherwise - def getQualityDefinitionId(self, definition): + def getQualityDefinitionId(self, definition: "DefinitionContainer") -> str: return QualityManager.getInstance().getParentMachineDefinition(definition).getId() ## Get the Variant ID to use to select quality profiles for the currently active variant # \returns VariantID (string) if found, empty string otherwise # \sa getQualityVariantId @pyqtProperty(str, notify = activeVariantChanged) - def activeQualityVariantId(self): + def activeQualityVariantId(self) -> str: if self._active_container_stack: variant = self._active_container_stack.variant if variant: @@ -1007,9 +1031,9 @@ class MachineManager(QObject): # This is normally the id of the variant itself, but machines can specify a different definition # to inherit qualities from, which has consequences for the variant to use as well # \param definition (DefinitionContainer) machine definition - # \param variant (DefinitionContainer) variant definition + # \param variant (InstanceContainer) variant definition # \returns VariantID (string) if found, empty string otherwise - def getQualityVariantId(self, definition, variant): + def getQualityVariantId(self, definition: "DefinitionContainer", variant: "InstanceContainer") -> str: variant_id = variant.getId() definition_id = definition.getId() quality_definition_id = self.getQualityDefinitionId(definition) @@ -1021,7 +1045,7 @@ class MachineManager(QObject): ## Gets how the active definition calls variants # Caveat: per-definition-variant-title is currently not translated (though the fallback is) @pyqtProperty(str, notify = globalContainerChanged) - def activeDefinitionVariantsName(self): + def activeDefinitionVariantsName(self) -> str: fallback_title = catalog.i18nc("@label", "Nozzle") if self._global_container_stack: return self._global_container_stack.getBottom().getMetaDataEntry("variants_name", fallback_title) @@ -1029,7 +1053,7 @@ class MachineManager(QObject): return fallback_title @pyqtSlot(str, str) - def renameMachine(self, machine_id, new_name): + def renameMachine(self, machine_id: str, new_name: str): containers = ContainerRegistry.getInstance().findContainerStacks(id = machine_id) if containers: new_name = self._createUniqueName("machine", containers[0].getName(), new_name, containers[0].getBottom().getName()) @@ -1037,32 +1061,32 @@ class MachineManager(QObject): self.globalContainerChanged.emit() @pyqtSlot(str) - def removeMachine(self, machine_id): + def removeMachine(self, machine_id: str): # If the machine that is being removed is the currently active machine, set another machine as the active machine. activate_new_machine = (self._global_container_stack and self._global_container_stack.getId() == machine_id) - ExtruderManager.getInstance().removeMachineExtruders(machine_id) + # activate a new machine before removing a machine because this is safer + if activate_new_machine: + machine_stacks = ContainerRegistry.getInstance().findContainerStacks(type = "machine") + other_machine_stacks = [s for s in machine_stacks if s.getId() != machine_id] + if other_machine_stacks: + Application.getInstance().setGlobalContainerStack(other_machine_stacks[0]) + ExtruderManager.getInstance().removeMachineExtruders(machine_id) containers = ContainerRegistry.getInstance().findInstanceContainers(type = "user", machine = machine_id) for container in containers: ContainerRegistry.getInstance().removeContainer(container.getId()) ContainerRegistry.getInstance().removeContainer(machine_id) - if activate_new_machine: - stacks = ContainerRegistry.getInstance().findContainerStacks(type = "machine") - if stacks: - Application.getInstance().setGlobalContainerStack(stacks[0]) - - @pyqtProperty(bool, notify = globalContainerChanged) - def hasMaterials(self): + def hasMaterials(self) -> bool: if self._global_container_stack: return bool(self._global_container_stack.getMetaDataEntry("has_materials", False)) return False @pyqtProperty(bool, notify = globalContainerChanged) - def hasVariants(self): + def hasVariants(self) -> bool: if self._global_container_stack: return bool(self._global_container_stack.getMetaDataEntry("has_variants", False)) @@ -1071,7 +1095,7 @@ class MachineManager(QObject): ## Property to indicate if a machine has "specialized" material profiles. # Some machines have their own material profiles that "override" the default catch all profiles. @pyqtProperty(bool, notify = globalContainerChanged) - def filterMaterialsByMachine(self): + def filterMaterialsByMachine(self) -> bool: if self._global_container_stack: return bool(self._global_container_stack.getMetaDataEntry("has_machine_materials", False)) @@ -1080,7 +1104,7 @@ class MachineManager(QObject): ## Property to indicate if a machine has "specialized" quality profiles. # Some machines have their own quality profiles that "override" the default catch all profiles. @pyqtProperty(bool, notify = globalContainerChanged) - def filterQualityByMachine(self): + def filterQualityByMachine(self) -> bool: if self._global_container_stack: return bool(self._global_container_stack.getMetaDataEntry("has_machine_quality", False)) return False @@ -1089,7 +1113,7 @@ class MachineManager(QObject): # \param machine_id string machine id to get the definition ID of # \returns DefinitionID (string) if found, None otherwise @pyqtSlot(str, result = str) - def getDefinitionByMachineId(self, machine_id): + def getDefinitionByMachineId(self, machine_id: str) -> str: containers = ContainerRegistry.getInstance().findContainerStacks(id=machine_id) if containers: return containers[0].getBottom().getId() @@ -1098,27 +1122,12 @@ class MachineManager(QObject): def createMachineManager(engine=None, script_engine=None): return MachineManager() - def _updateVariantContainer(self, definition: "DefinitionContainer"): - if not definition.getMetaDataEntry("has_variants"): - return self._empty_variant_container - machine_definition_id = Application.getInstance().getMachineManager().getQualityDefinitionId(definition) - containers = [] - preferred_variant = definition.getMetaDataEntry("preferred_variant") - if preferred_variant: - containers = ContainerRegistry.getInstance().findInstanceContainers(type = "variant", definition = machine_definition_id, id = preferred_variant) - if not containers: - containers = ContainerRegistry.getInstance().findInstanceContainers(type = "variant", definition = machine_definition_id) - - if containers: - return containers[0] - - return self._empty_variant_container - + @deprecated("Use ExtruderStack.material = ... and it won't be necessary", "2.7") def _updateMaterialContainer(self, definition: "DefinitionContainer", stack: "ContainerStack", variant_container: Optional["InstanceContainer"] = None, preferred_material_name: Optional[str] = None): if not definition.getMetaDataEntry("has_materials"): return self._empty_material_container - approximate_material_diameter = round(stack.getProperty("material_diameter", "value")) + approximate_material_diameter = str(round(stack.getProperty("material_diameter", "value"))) search_criteria = { "type": "material", "approximate_diameter": approximate_material_diameter } if definition.getMetaDataEntry("has_machine_materials"): @@ -1151,110 +1160,6 @@ class MachineManager(QObject): Logger.log("w", "Unable to find a material container with provided criteria, returning an empty one instead.") return self._empty_material_container - def _updateQualityContainer(self, definition: "DefinitionContainer", variant_container: "ContainerStack", material_container = None, preferred_quality_name: Optional[str] = None): - container_registry = ContainerRegistry.getInstance() - search_criteria = { "type": "quality" } - - if definition.getMetaDataEntry("has_machine_quality"): - search_criteria["definition"] = self.getQualityDefinitionId(definition) - - if definition.getMetaDataEntry("has_materials") and material_container: - search_criteria["material"] = material_container.id - else: - search_criteria["definition"] = "fdmprinter" - - if preferred_quality_name and preferred_quality_name != "empty": - search_criteria["name"] = preferred_quality_name - else: - preferred_quality = definition.getMetaDataEntry("preferred_quality") - if preferred_quality: - search_criteria["id"] = preferred_quality - - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: - return containers[0] - - if "material" in search_criteria: - # First check if we can solve our material not found problem by checking if we can find quality containers - # that are assigned to the parents of this material profile. - try: - inherited_files = material_container.getInheritedFiles() - except AttributeError: # Material_container does not support inheritance. - inherited_files = [] - - if inherited_files: - for inherited_file in inherited_files: - # Extract the ID from the path we used to load the file. - search_criteria["material"] = os.path.basename(inherited_file).split(".")[0] - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: - return containers[0] - # We still weren't able to find a quality for this specific material. - # Try to find qualities for a generic version of the material. - material_search_criteria = { "type": "material", "material": material_container.getMetaDataEntry("material"), "color_name": "Generic"} - if definition.getMetaDataEntry("has_machine_quality"): - if material_container: - material_search_criteria["definition"] = material_container.getDefinition().id - - if definition.getMetaDataEntry("has_variants"): - material_search_criteria["variant"] = material_container.getMetaDataEntry("variant") - else: - material_search_criteria["definition"] = self.getQualityDefinitionId(definition) - - if definition.getMetaDataEntry("has_variants") and variant_container: - material_search_criteria["variant"] = self.getQualityVariantId(definition, variant_container) - else: - material_search_criteria["definition"] = "fdmprinter" - material_containers = container_registry.findInstanceContainers(**material_search_criteria) - # Try all materials to see if there is a quality profile available. - for material_container in material_containers: - search_criteria["material"] = material_container.getId() - - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: - return containers[0] - - if "name" in search_criteria or "id" in search_criteria: - # If a quality by this name can not be found, try a wider set of search criteria - search_criteria.pop("name", None) - search_criteria.pop("id", None) - - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: - return containers[0] - - # Notify user that we were unable to find a matching quality - message = Message(catalog.i18nc("@info:status", "Unable to find a quality profile for this combination. Default settings will be used instead.")) - message.show() - return self._empty_quality_container - - ## Finds a quality-changes container to use if any other container - # changes. - # - # \param quality_type The quality type to find a quality-changes for. - # \param preferred_quality_changes_name The name of the quality-changes to - # pick, if any such quality-changes profile is available. - def _updateQualityChangesContainer(self, quality_type, preferred_quality_changes_name = None): - container_registry = ContainerRegistry.getInstance() # Cache. - search_criteria = { "type": "quality_changes" } - - search_criteria["quality"] = quality_type - if preferred_quality_changes_name: - search_criteria["name"] = preferred_quality_changes_name - - # Try to search with the name in the criteria first, since we prefer to have the correct name. - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: # Found one! - return containers[0] - - if "name" in search_criteria: - del search_criteria["name"] # Not found, then drop the name requirement (if we had one) and search again. - containers = container_registry.findInstanceContainers(**search_criteria) - if containers: - return containers[0] - - return self._empty_quality_changes_container # Didn't find anything with the required quality_type. - def _onMachineNameChanged(self): self.globalContainerChanged.emit() diff --git a/cura/Settings/MaterialManager.py b/cura/Settings/MaterialManager.py new file mode 100644 index 0000000000..5640d7af38 --- /dev/null +++ b/cura/Settings/MaterialManager.py @@ -0,0 +1,57 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from PyQt5.QtCore import QObject, pyqtSlot #To expose data to QML. + +from cura.Settings.ContainerManager import ContainerManager +from UM.Logger import Logger +from UM.Message import Message #To create a warning message about material diameter. +from UM.i18n import i18nCatalog #Translated strings. + +catalog = i18nCatalog("cura") + +## Handles material-related data, processing requests to change them and +# providing data for the GUI. +# +# TODO: Move material-related managing over from the machine manager to here. +class MaterialManager(QObject): + ## Creates the global values for the material manager to use. + def __init__(self, parent = None): + super().__init__(parent) + + #Material diameter changed warning message. + self._material_diameter_warning_message = Message(catalog.i18nc("@info:status Has a cancel button next to it.", + "The selected material diameter causes the material to become incompatible with the current printer.")) + self._material_diameter_warning_message.addAction("Undo", catalog.i18nc("@action:button", "Undo"), None, catalog.i18nc("@action", "Undo changing the material diameter.")) + self._material_diameter_warning_message.actionTriggered.connect(self._materialWarningMessageAction) + + ## Creates an instance of the MaterialManager. + # + # This should only be called by PyQt to create the singleton instance of + # this class. + @staticmethod + def createMaterialManager(engine = None, script_engine = None): + return MaterialManager() + + @pyqtSlot(str, str) + def showMaterialWarningMessage(self, material_id, previous_diameter): + self._material_diameter_warning_message.previous_diameter = previous_diameter #Make sure that the undo button can properly undo the action. + self._material_diameter_warning_message.material_id = material_id + self._material_diameter_warning_message.show() + + ## Called when clicking "undo" on the warning dialogue for disappeared + # materials. + # + # This executes the undo action, restoring the material diameter. + # + # \param button The identifier of the button that was pressed. + def _materialWarningMessageAction(self, message, button): + if button == "Undo": + container_manager = ContainerManager.getInstance() + container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "properties/diameter", self._material_diameter_warning_message.previous_diameter) + approximate_previous_diameter = str(round(float(self._material_diameter_warning_message.previous_diameter))) + container_manager.setContainerMetaDataEntry(self._material_diameter_warning_message.material_id, "approximate_diameter", approximate_previous_diameter) + container_manager.setContainerProperty(self._material_diameter_warning_message.material_id, "material_diameter", "value", self._material_diameter_warning_message.previous_diameter); + message.hide() + else: + Logger.log("w", "Unknown button action for material diameter warning message: {action}".format(action = button)) \ No newline at end of file diff --git a/cura/Settings/MaterialsModel.py b/cura/Settings/MaterialsModel.py new file mode 100644 index 0000000000..75eeb6c281 --- /dev/null +++ b/cura/Settings/MaterialsModel.py @@ -0,0 +1,21 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from UM.Settings.ContainerRegistry import ContainerRegistry #To listen for changes to the materials. +from UM.Settings.Models.InstanceContainersModel import InstanceContainersModel #We're extending this class. + +## A model that shows a list of currently valid materials. +class MaterialsModel(InstanceContainersModel): + def __init__(self, parent = None): + super().__init__(parent) + + ContainerRegistry.getInstance().containerMetaDataChanged.connect(self._onContainerMetaDataChanged) + + ## Called when the metadata of the container was changed. + # + # This makes sure that we only update when it was a material that changed. + # + # \param container The container whose metadata was changed. + def _onContainerMetaDataChanged(self, container): + if container.getMetaDataEntry("type") == "material": #Only need to update if a material was changed. + self._update() \ No newline at end of file diff --git a/cura/Settings/QualityAndUserProfilesModel.py b/cura/Settings/QualityAndUserProfilesModel.py index db093126cc..b6ac3fb6d0 100644 --- a/cura/Settings/QualityAndUserProfilesModel.py +++ b/cura/Settings/QualityAndUserProfilesModel.py @@ -40,6 +40,6 @@ class QualityAndUserProfilesModel(ProfilesModel): # Filter the quality_change by the list of available quality_types quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list]) - filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set] + filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set and qc.getMetaDataEntry("extruder") is None] return quality_list + filtered_quality_changes diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index ff0d1d81c0..d3a1655889 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal @@ -35,7 +35,7 @@ class SettingInheritanceManager(QObject): ## Get the keys of all children settings with an override. @pyqtSlot(str, result = "QStringList") def getChildrenKeysWithOverride(self, key): - definitions = self._global_container_stack.getBottom().findDefinitions(key=key) + definitions = self._global_container_stack.definition.findDefinitions(key=key) if not definitions: Logger.log("w", "Could not find definition for key [%s]", key) return [] @@ -55,7 +55,7 @@ class SettingInheritanceManager(QObject): Logger.log("w", "Unable to find extruder for current machine with index %s", extruder_index) return [] - definitions = self._global_container_stack.getBottom().findDefinitions(key=key) + definitions = self._global_container_stack.definition.findDefinitions(key=key) if not definitions: Logger.log("w", "Could not find definition for key [%s] (2)", key) return [] @@ -93,7 +93,7 @@ class SettingInheritanceManager(QObject): def _onPropertyChanged(self, key, property_name): if (property_name == "value" or property_name == "enabled") and self._global_container_stack: - definitions = self._global_container_stack.getBottom().findDefinitions(key = key) + definitions = self._global_container_stack.definition.findDefinitions(key = key) if not definitions: return @@ -198,6 +198,10 @@ class SettingInheritanceManager(QObject): def _update(self): self._settings_with_inheritance_warning = [] # Reset previous data. + # Make sure that the GlobalStack is not None. sometimes the globalContainerChanged signal gets here late. + if self._global_container_stack is None: + return + # Check all setting keys that we know of and see if they are overridden. for setting_key in self._global_container_stack.getAllKeys(): override = self._settingIsOverwritingInheritance(setting_key) @@ -205,7 +209,7 @@ class SettingInheritanceManager(QObject): self._settings_with_inheritance_warning.append(setting_key) # Check all the categories if any of their children have their inheritance overwritten. - for category in self._global_container_stack.getBottom().findDefinitions(type = "category"): + for category in self._global_container_stack.definition.findDefinitions(type = "category"): if self._recursiveCheck(category): self._settings_with_inheritance_warning.append(category.key) diff --git a/cura/Settings/UserProfilesModel.py b/cura/Settings/UserProfilesModel.py index 01b0cdb981..07669422d2 100644 --- a/cura/Settings/UserProfilesModel.py +++ b/cura/Settings/UserProfilesModel.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from UM.Application import Application @@ -33,4 +33,9 @@ class UserProfilesModel(ProfilesModel): quality_type_set = set([x.getMetaDataEntry("quality_type") for x in quality_list]) filtered_quality_changes = [qc for qc in quality_changes_list if qc.getMetaDataEntry("quality_type") in quality_type_set] + #Only display the global quality changes. + #Otherwise you get multiple copies of every quality changes profile. + #The actual profile switching goes by profile name (not ID), and as long as the names are consistent, switching to any of the profiles will cause all stacks to switch. + filtered_quality_changes = list(filter(lambda quality_changes: quality_changes.getMetaDataEntry("extruder") is None, filtered_quality_changes)) + return filtered_quality_changes diff --git a/cura/ZOffsetDecorator.py b/cura/ZOffsetDecorator.py index 66dddfd390..d3ee5c8454 100644 --- a/cura/ZOffsetDecorator.py +++ b/cura/ZOffsetDecorator.py @@ -3,6 +3,7 @@ from UM.Scene.SceneNodeDecorator import SceneNodeDecorator ## A decorator that stores the amount an object has been moved below the platform. class ZOffsetDecorator(SceneNodeDecorator): def __init__(self): + super().__init__() self._z_offset = 0 def setZOffset(self, offset): diff --git a/cura_app.py b/cura_app.py index f608aca1da..1d8867f1f4 100755 --- a/cura_app.py +++ b/cura_app.py @@ -5,6 +5,7 @@ import os import sys import platform +import faulthandler from UM.Platform import Platform @@ -53,12 +54,14 @@ import Arcus #@UnusedImport import cura.CuraApplication import cura.Settings.CuraContainerRegistry -if Platform.isWindows() and hasattr(sys, "frozen"): +if hasattr(sys, "frozen"): dirpath = os.path.expanduser("~/AppData/Local/cura/") os.makedirs(dirpath, exist_ok = True) sys.stdout = open(os.path.join(dirpath, "stdout.log"), "w") sys.stderr = open(os.path.join(dirpath, "stderr.log"), "w") +faulthandler.enable() + # Force an instance of CuraContainerRegistry to be created and reused later. cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance() diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py old mode 100644 new mode 100755 index a0ce679464..4d668b17ac --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -1,3 +1,6 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Application import Application @@ -15,7 +18,10 @@ from .WorkspaceDialog import WorkspaceDialog import xml.etree.ElementTree as ET from cura.Settings.ExtruderManager import ExtruderManager +from cura.Settings.ExtruderStack import ExtruderStack +from cura.Settings.GlobalStack import GlobalStack +from configparser import ConfigParser import zipfile import io import configparser @@ -31,10 +37,20 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog = WorkspaceDialog() self._3mf_mesh_reader = None self._container_registry = ContainerRegistry.getInstance() - self._definition_container_suffix = ContainerRegistry.getMimeTypeForContainer(DefinitionContainer).preferredSuffix + + # suffixes registered with the MineTypes don't start with a dot '.' + self._definition_container_suffix = "." + ContainerRegistry.getMimeTypeForContainer(DefinitionContainer).preferredSuffix self._material_container_suffix = None # We have to wait until all other plugins are loaded before we can set it - self._instance_container_suffix = ContainerRegistry.getMimeTypeForContainer(InstanceContainer).preferredSuffix - self._container_stack_suffix = ContainerRegistry.getMimeTypeForContainer(ContainerStack).preferredSuffix + self._instance_container_suffix = "." + ContainerRegistry.getMimeTypeForContainer(InstanceContainer).preferredSuffix + self._container_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(ContainerStack).preferredSuffix + self._extruder_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(ExtruderStack).preferredSuffix + self._global_stack_suffix = "." + ContainerRegistry.getMimeTypeForContainer(GlobalStack).preferredSuffix + + # Certain instance container types are ignored because we make the assumption that only we make those types + # of containers. They are: + # - quality + # - variant + self._ignored_instance_container_types = {"quality", "variant"} self._resolve_strategies = {} @@ -47,6 +63,49 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._id_mapping[old_id] = self._container_registry.uniqueName(old_id) return self._id_mapping[old_id] + ## Separates the given file list into a list of GlobalStack files and a list of ExtruderStack files. + # + # In old versions, extruder stack files have the same suffix as container stack files ".stack.cfg". + # + def _determineGlobalAndExtruderStackFiles(self, project_file_name, file_list): + archive = zipfile.ZipFile(project_file_name, "r") + + global_stack_file_list = [name for name in file_list if name.endswith(self._global_stack_suffix)] + extruder_stack_file_list = [name for name in file_list if name.endswith(self._extruder_stack_suffix)] + + # separate container stack files and extruder stack files + files_to_determine = [name for name in file_list if name.endswith(self._container_stack_suffix)] + for file_name in files_to_determine: + # FIXME: HACK! + # We need to know the type of the stack file, but we can only know it if we deserialize it. + # The default ContainerStack.deserialize() will connect signals, which is not desired in this case. + # Since we know that the stack files are INI files, so we directly use the ConfigParser to parse them. + serialized = archive.open(file_name).read().decode("utf-8") + stack_config = ConfigParser() + stack_config.read_string(serialized) + + # sanity check + if not stack_config.has_option("metadata", "type"): + Logger.log("e", "%s in %s doesn't seem to be valid stack file", file_name, project_file_name) + continue + + stack_type = stack_config.get("metadata", "type") + if stack_type == "extruder_train": + extruder_stack_file_list.append(file_name) + elif stack_type == "machine": + global_stack_file_list.append(file_name) + else: + Logger.log("w", "Unknown container stack type '%s' from %s in %s", + stack_type, file_name, project_file_name) + + if len(global_stack_file_list) != 1: + raise RuntimeError("More than one global stack file found: [%s]" % str(global_stack_file_list)) + + return global_stack_file_list[0], extruder_stack_file_list + + ## read some info so we can make decisions + # \param file_name + # \param show_dialog In case we use preRead() to check if a file is a valid project file, we don't want to show a dialog. def preRead(self, file_name, show_dialog=True, *args, **kwargs): self._3mf_mesh_reader = Application.getInstance().getMeshFileHandler().getReaderForFile(file_name) if self._3mf_mesh_reader and self._3mf_mesh_reader.preRead(file_name) == WorkspaceReader.PreReadResult.accepted: @@ -59,51 +118,52 @@ class ThreeMFWorkspaceReader(WorkspaceReader): machine_type = "" variant_type_name = i18n_catalog.i18nc("@label", "Nozzle") - num_extruders = 0 # Check if there are any conflicts, so we can ask the user. archive = zipfile.ZipFile(file_name, "r") cura_file_names = [name for name in archive.namelist() if name.startswith("Cura/")] - container_stack_files = [name for name in cura_file_names if name.endswith(self._container_stack_suffix)] - self._resolve_strategies = {"machine": None, "quality_changes": None, "material": None} - machine_conflict = False - quality_changes_conflict = False - for container_stack_file in container_stack_files: - container_id = self._stripFileToId(container_stack_file) - serialized = archive.open(container_stack_file).read().decode("utf-8") - if machine_name == "": - machine_name = self._getMachineNameFromSerializedStack(serialized) - stacks = self._container_registry.findContainerStacks(id=container_id) - if stacks: - # Check if there are any changes at all in any of the container stacks. - id_list = self._getContainerIdListFromSerialized(serialized) - for index, container_id in enumerate(id_list): - if stacks[0].getContainer(index).getId() != container_id: - machine_conflict = True - Job.yieldThread() + # A few lists of containers in this project files. + # When loading the global stack file, it may be associated with those containers, which may or may not be + # in Cura already, so we need to provide them as alternative search lists. + definition_container_list = [] + instance_container_list = [] + material_container_list = [] + + # + # Read definition containers + # + machine_definition_container_count = 0 + extruder_definition_container_count = 0 definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] - for definition_container_file in definition_container_files: - container_id = self._stripFileToId(definition_container_file) + for each_definition_container_file in definition_container_files: + container_id = self._stripFileToId(each_definition_container_file) definitions = self._container_registry.findDefinitionContainers(id=container_id) if not definitions: definition_container = DefinitionContainer(container_id) - definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8")) + definition_container.deserialize(archive.open(each_definition_container_file).read().decode("utf-8")) else: definition_container = definitions[0] + definition_container_list.append(definition_container) - if definition_container.getMetaDataEntry("type") != "extruder": + definition_container_type = definition_container.getMetaDataEntry("type") + if definition_container_type == "machine": machine_type = definition_container.getName() variant_type_name = definition_container.getMetaDataEntry("variants_name", variant_type_name) + + machine_definition_container_count += 1 + elif definition_container_type == "extruder": + extruder_definition_container_count += 1 else: - num_extruders += 1 + Logger.log("w", "Unknown definition container type %s for %s", + definition_container_type, each_definition_container_file) Job.yieldThread() - - if num_extruders == 0: - num_extruders = 1 # No extruder stacks found, which means there is one extruder - - extruders = num_extruders * [""] + # sanity check + if machine_definition_container_count != 1: + msg = "Expecting one machine definition container but got %s" % machine_definition_container_count + Logger.log("e", msg) + raise RuntimeError(msg) material_labels = [] material_conflict = False @@ -119,18 +179,25 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if materials and not materials[0].isReadOnly(): # Only non readonly materials can be in conflict material_conflict = True Job.yieldThread() + # Check if any quality_changes instance container is in conflict. instance_container_files = [name for name in cura_file_names if name.endswith(self._instance_container_suffix)] quality_name = "" quality_type = "" num_settings_overriden_by_quality_changes = 0 # How many settings are changed by the quality changes + num_settings_overriden_by_definition_changes = 0 # How many settings are changed by the definition changes num_user_settings = 0 - for instance_container_file in instance_container_files: - container_id = self._stripFileToId(instance_container_file) + quality_changes_conflict = False + definition_changes_conflict = False + + for each_instance_container_file in instance_container_files: + container_id = self._stripFileToId(each_instance_container_file) instance_container = InstanceContainer(container_id) # Deserialize InstanceContainer by converting read data from bytes to string - instance_container.deserialize(archive.open(instance_container_file).read().decode("utf-8")) + instance_container.deserialize(archive.open(each_instance_container_file).read().decode("utf-8")) + instance_container_list.append(instance_container) + container_type = instance_container.getMetaDataEntry("type") if container_type == "quality_changes": quality_name = instance_container.getName() @@ -141,16 +208,41 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Check if there really is a conflict by comparing the values if quality_changes[0] != instance_container: quality_changes_conflict = True - elif container_type == "quality": - # If the quality name is not set (either by quality or changes, set it now) - # Quality changes should always override this (as they are "on top") - if quality_name == "": - quality_name = instance_container.getName() - quality_type = instance_container.getName() + elif container_type == "definition_changes": + definition_name = instance_container.getName() + num_settings_overriden_by_definition_changes += len(instance_container._instances) + definition_changes = self._container_registry.findDefinitionContainers(id = container_id) + if definition_changes: + if definition_changes[0] != instance_container: + definition_changes_conflict = True elif container_type == "user": num_user_settings += len(instance_container._instances) + elif container_type in self._ignored_instance_container_types: + # Ignore certain instance container types + Logger.log("w", "Ignoring instance container [%s] with type [%s]", container_id, container_type) + continue Job.yieldThread() + + # Load ContainerStack files and ExtruderStack files + global_stack_file, extruder_stack_files = self._determineGlobalAndExtruderStackFiles( + file_name, cura_file_names) + self._resolve_strategies = {"machine": None, "quality_changes": None, "material": None} + machine_conflict = False + for container_stack_file in [global_stack_file] + extruder_stack_files: + container_id = self._stripFileToId(container_stack_file) + serialized = archive.open(container_stack_file).read().decode("utf-8") + if machine_name == "": + machine_name = self._getMachineNameFromSerializedStack(serialized) + stacks = self._container_registry.findContainerStacks(id = container_id) + if stacks: + # Check if there are any changes at all in any of the container stacks. + id_list = self._getContainerIdListFromSerialized(serialized) + for index, container_id in enumerate(id_list): + if stacks[0].getContainer(index).getId() != container_id: + machine_conflict = True + Job.yieldThread() + num_visible_settings = 0 try: temp_preferences = Preferences() @@ -171,9 +263,17 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if not show_dialog: return WorkspaceReader.PreReadResult.accepted + # prepare data for the dialog + num_extruders = extruder_definition_container_count + if num_extruders == 0: + num_extruders = 1 # No extruder stacks found, which means there is one extruder + + extruders = num_extruders * [""] + # Show the dialog, informing the user what is about to happen. self._dialog.setMachineConflict(machine_conflict) self._dialog.setQualityChangesConflict(quality_changes_conflict) + self._dialog.setDefinitionChangesConflict(definition_changes_conflict) self._dialog.setMaterialConflict(material_conflict) self._dialog.setNumVisibleSettings(num_visible_settings) self._dialog.setQualityName(quality_name) @@ -196,9 +296,47 @@ class ThreeMFWorkspaceReader(WorkspaceReader): return WorkspaceReader.PreReadResult.cancelled self._resolve_strategies = self._dialog.getResult() + # + # There can be 3 resolve strategies coming from the dialog: + # - new: create a new container + # - override: override the existing container + # - None: There is no conflict, which means containers with the same IDs may or may not be there already. + # If they are there, there is no conflict between the them. + # In this case, you can either create a new one, or safely override the existing one. + # + # Default values + for k, v in self._resolve_strategies.items(): + if v is None: + self._resolve_strategies[k] = "new" return WorkspaceReader.PreReadResult.accepted + ## Overrides an ExtruderStack in the given GlobalStack and returns the new ExtruderStack. + def _overrideExtruderStack(self, global_stack, extruder_file_content): + # get extruder position first + extruder_config = configparser.ConfigParser() + extruder_config.read_string(extruder_file_content) + if not extruder_config.has_option("metadata", "position"): + msg = "Could not find 'metadata/position' in extruder stack file" + Logger.log("e", "Could not find 'metadata/position' in extruder stack file") + raise RuntimeError(msg) + extruder_position = extruder_config.get("metadata", "position") + + extruder_stack = global_stack.extruders[extruder_position] + + # override the given extruder stack + extruder_stack.deserialize(extruder_file_content) + + # return the new ExtruderStack + return extruder_stack + + ## Read the project file + # Add all the definitions / materials / quality changes that do not exist yet. Then it loads + # all the stacks into the container registry. In some cases it will reuse the container for the global stack. + # It handles old style project files containing .stack.cfg as well as new style project files + # containing global.cfg / extruder.cfg + # + # \param file_name def read(self, file_name): archive = zipfile.ZipFile(file_name, "r") @@ -232,6 +370,35 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # We do this so that if something goes wrong, it's easier to clean up. containers_to_add = [] + global_stack_file, extruder_stack_files = self._determineGlobalAndExtruderStackFiles(file_name, cura_file_names) + + global_stack = None + extruder_stacks = [] + extruder_stacks_added = [] + container_stacks_added = [] + + containers_added = [] + + global_stack_id_original = self._stripFileToId(global_stack_file) + global_stack_id_new = global_stack_id_original + global_stack_need_rename = False + + extruder_stack_id_map = {} # new and old ExtruderStack IDs map + if self._resolve_strategies["machine"] == "new": + # We need a new id if the id already exists + if self._container_registry.findContainerStacks(id = global_stack_id_original): + global_stack_id_new = self.getNewId(global_stack_id_original) + global_stack_need_rename = True + + for each_extruder_stack_file in extruder_stack_files: + old_container_id = self._stripFileToId(each_extruder_stack_file) + new_container_id = old_container_id + if self._container_registry.findContainerStacks(id = old_container_id): + # get a new name for this extruder + new_container_id = self.getNewId(old_container_id) + + extruder_stack_id_map[old_container_id] = new_container_id + # TODO: For the moment we use pretty naive existence checking. If the ID is the same, we assume in quite a few # TODO: cases that the container loaded is the same (most notable in materials & definitions). # TODO: It might be possible that we need to add smarter checking in the future. @@ -240,7 +407,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): definition_container_files = [name for name in cura_file_names if name.endswith(self._definition_container_suffix)] for definition_container_file in definition_container_files: container_id = self._stripFileToId(definition_container_file) - definitions = self._container_registry.findDefinitionContainers(id=container_id) + definitions = self._container_registry.findDefinitionContainers(id = container_id) if not definitions: definition_container = DefinitionContainer(container_id) definition_container.deserialize(archive.open(definition_container_file).read().decode("utf-8")) @@ -257,222 +424,403 @@ class ThreeMFWorkspaceReader(WorkspaceReader): material_container_files = [name for name in cura_file_names if name.endswith(self._material_container_suffix)] for material_container_file in material_container_files: container_id = self._stripFileToId(material_container_file) - materials = self._container_registry.findInstanceContainers(id=container_id) + materials = self._container_registry.findInstanceContainers(id = container_id) + if not materials: material_container = xml_material_profile(container_id) material_container.deserialize(archive.open(material_container_file).read().decode("utf-8")) containers_to_add.append(material_container) else: - if not materials[0].isReadOnly(): # Only create new materials if they are not read only. + material_container = materials[0] + if not material_container.isReadOnly(): # Only create new materials if they are not read only. if self._resolve_strategies["material"] == "override": - materials[0].deserialize(archive.open(material_container_file).read().decode("utf-8")) + material_container.deserialize(archive.open(material_container_file).read().decode("utf-8")) elif self._resolve_strategies["material"] == "new": # Note that we *must* deserialize it with a new ID, as multiple containers will be # auto created & added. material_container = xml_material_profile(self.getNewId(container_id)) material_container.deserialize(archive.open(material_container_file).read().decode("utf-8")) containers_to_add.append(material_container) - material_containers.append(material_container) + + material_containers.append(material_container) Job.yieldThread() Logger.log("d", "Workspace loading is checking instance containers...") # Get quality_changes and user profiles saved in the workspace instance_container_files = [name for name in cura_file_names if name.endswith(self._instance_container_suffix)] user_instance_containers = [] - quality_changes_instance_containers = [] + quality_and_definition_changes_instance_containers = [] for instance_container_file in instance_container_files: container_id = self._stripFileToId(instance_container_file) + serialized = archive.open(instance_container_file).read().decode("utf-8") + + # HACK! we ignore "quality" and "variant" instance containers! + parser = configparser.ConfigParser() + parser.read_string(serialized) + if not parser.has_option("metadata", "type"): + Logger.log("w", "Cannot find metadata/type in %s, ignoring it", instance_container_file) + continue + if parser.get("metadata", "type") in self._ignored_instance_container_types: + continue + instance_container = InstanceContainer(container_id) # Deserialize InstanceContainer by converting read data from bytes to string - instance_container.deserialize(archive.open(instance_container_file).read().decode("utf-8")) + instance_container.deserialize(serialized) container_type = instance_container.getMetaDataEntry("type") Job.yieldThread() - if container_type == "user": + + # + # IMPORTANT: + # If an instance container (or maybe other type of container) exists, and user chooses "Create New", + # we need to rename this container and all references to it, and changing those references are VERY + # HARD. + # + if container_type in self._ignored_instance_container_types: + # Ignore certain instance container types + Logger.log("w", "Ignoring instance container [%s] with type [%s]", container_id, container_type) + continue + elif container_type == "user": # Check if quality changes already exists. - user_containers = self._container_registry.findInstanceContainers(id=container_id) + user_containers = self._container_registry.findInstanceContainers(id = container_id) if not user_containers: containers_to_add.append(instance_container) else: if self._resolve_strategies["machine"] == "override" or self._resolve_strategies["machine"] is None: - user_containers[0].deserialize(archive.open(instance_container_file).read().decode("utf-8")) + instance_container = user_containers[0] + instance_container.deserialize(archive.open(instance_container_file).read().decode("utf-8")) + instance_container.setDirty(True) elif self._resolve_strategies["machine"] == "new": # The machine is going to get a spiffy new name, so ensure that the id's of user settings match. - extruder_id = instance_container.getMetaDataEntry("extruder", None) - if extruder_id: - new_id = self.getNewId(extruder_id) + "_current_settings" + old_extruder_id = instance_container.getMetaDataEntry("extruder", None) + if old_extruder_id: + new_extruder_id = extruder_stack_id_map[old_extruder_id] + new_id = new_extruder_id + "_current_settings" instance_container._id = new_id instance_container.setName(new_id) - instance_container.setMetaDataEntry("extruder", self.getNewId(extruder_id)) + instance_container.setMetaDataEntry("extruder", new_extruder_id) containers_to_add.append(instance_container) machine_id = instance_container.getMetaDataEntry("machine", None) if machine_id: - new_id = self.getNewId(machine_id) + "_current_settings" + new_machine_id = self.getNewId(machine_id) + new_id = new_machine_id + "_current_settings" instance_container._id = new_id instance_container.setName(new_id) - instance_container.setMetaDataEntry("machine", self.getNewId(machine_id)) + instance_container.setMetaDataEntry("machine", new_machine_id) containers_to_add.append(instance_container) user_instance_containers.append(instance_container) - elif container_type == "quality_changes": + elif container_type in ("quality_changes", "definition_changes"): # Check if quality changes already exists. - quality_changes = self._container_registry.findInstanceContainers(id = container_id) - if not quality_changes: + changes_containers = self._container_registry.findInstanceContainers(id = container_id) + if not changes_containers: + # no existing containers with the same ID, so we can safely add the new one containers_to_add.append(instance_container) else: - if self._resolve_strategies["quality_changes"] == "override": - quality_changes[0].deserialize(archive.open(instance_container_file).read().decode("utf-8")) - elif self._resolve_strategies["quality_changes"] is None: + # we have found existing container with the same ID, so we need to resolve according to the + # selected strategy. + if self._resolve_strategies[container_type] == "override": + instance_container = changes_containers[0] + instance_container.deserialize(archive.open(instance_container_file).read().decode("utf-8")) + instance_container.setDirty(True) + + elif self._resolve_strategies[container_type] == "new": + # TODO: how should we handle the case "new" for quality_changes and definition_changes? + + instance_container.setName(self._container_registry.uniqueName(instance_container.getName())) + new_changes_container_id = self.getNewId(instance_container.getId()) + instance_container._id = new_changes_container_id + + # TODO: we don't know the following is correct or not, need to verify + # AND REFACTOR!!! + if self._resolve_strategies["machine"] == "new": + # The machine is going to get a spiffy new name, so ensure that the id's of user settings match. + old_extruder_id = instance_container.getMetaDataEntry("extruder", None) + if old_extruder_id: + new_extruder_id = extruder_stack_id_map[old_extruder_id] + instance_container.setMetaDataEntry("extruder", new_extruder_id) + + machine_id = instance_container.getMetaDataEntry("machine", None) + if machine_id: + new_machine_id = self.getNewId(machine_id) + instance_container.setMetaDataEntry("machine", new_machine_id) + + containers_to_add.append(instance_container) + + elif self._resolve_strategies[container_type] is None: # The ID already exists, but nothing in the values changed, so do nothing. pass - quality_changes_instance_containers.append(instance_container) + quality_and_definition_changes_instance_containers.append(instance_container) else: - continue + existing_container = self._container_registry.findInstanceContainers(id = container_id) + if not existing_container: + containers_to_add.append(instance_container) + if global_stack_need_rename: + if instance_container.getMetaDataEntry("machine"): + instance_container.setMetaDataEntry("machine", global_stack_id_new) # Add all the containers right before we try to add / serialize the stack for container in containers_to_add: self._container_registry.addContainer(container) container.setDirty(True) + containers_added.append(container) # Get the stack(s) saved in the workspace. Logger.log("d", "Workspace loading is checking stacks containers...") - container_stack_files = [name for name in cura_file_names if name.endswith(self._container_stack_suffix)] - global_stack = None - extruder_stacks = [] - container_stacks_added = [] - try: - for container_stack_file in container_stack_files: - container_id = self._stripFileToId(container_stack_file) - # Check if a stack by this ID already exists; - container_stacks = self._container_registry.findContainerStacks(id=container_id) + # -- + # load global stack file + try: + # Check if a stack by this ID already exists; + container_stacks = self._container_registry.findContainerStacks(id = global_stack_id_original) + if container_stacks: + stack = container_stacks[0] + + if self._resolve_strategies["machine"] == "override": + # TODO: HACK + # There is a machine, check if it has authentication data. If so, keep that data. + network_authentication_id = container_stacks[0].getMetaDataEntry("network_authentication_id") + network_authentication_key = container_stacks[0].getMetaDataEntry("network_authentication_key") + container_stacks[0].deserialize(archive.open(global_stack_file).read().decode("utf-8")) + if network_authentication_id: + container_stacks[0].addMetaDataEntry("network_authentication_id", network_authentication_id) + if network_authentication_key: + container_stacks[0].addMetaDataEntry("network_authentication_key", network_authentication_key) + elif self._resolve_strategies["machine"] == "new": + stack = GlobalStack(global_stack_id_new) + stack.deserialize(archive.open(global_stack_file).read().decode("utf-8")) + + # Ensure a unique ID and name + stack._id = global_stack_id_new + + # Extruder stacks are "bound" to a machine. If we add the machine as a new one, the id of the + # bound machine also needs to change. + if stack.getMetaDataEntry("machine", None): + stack.setMetaDataEntry("machine", global_stack_id_new) + + # Only machines need a new name, stacks may be non-unique + stack.setName(self._container_registry.uniqueName(stack.getName())) + container_stacks_added.append(stack) + self._container_registry.addContainer(stack) + else: + Logger.log("w", "Resolve strategy of %s for machine is not supported", self._resolve_strategies["machine"]) + else: + # no existing container stack, so we create a new one + stack = GlobalStack(global_stack_id_new) + # Deserialize stack by converting read data from bytes to string + stack.deserialize(archive.open(global_stack_file).read().decode("utf-8")) + container_stacks_added.append(stack) + self._container_registry.addContainer(stack) + containers_added.append(stack) + + global_stack = stack + Job.yieldThread() + except: + Logger.logException("w", "We failed to serialize the stack. Trying to clean up.") + # Something went really wrong. Try to remove any data that we added. + for container in containers_added: + self._container_registry.removeContainer(container.getId()) + return + + # -- + # load extruder stack files + try: + for index, extruder_stack_file in enumerate(extruder_stack_files): + container_id = self._stripFileToId(extruder_stack_file) + extruder_file_content = archive.open(extruder_stack_file, "r").read().decode("utf-8") + + container_stacks = self._container_registry.findContainerStacks(id = container_id) if container_stacks: + # this container stack already exists, try to resolve stack = container_stacks[0] + if self._resolve_strategies["machine"] == "override": - # TODO: HACK - # There is a machine, check if it has authenticationd data. If so, keep that data. - network_authentication_id = container_stacks[0].getMetaDataEntry("network_authentication_id") - network_authentication_key = container_stacks[0].getMetaDataEntry("network_authentication_key") - container_stacks[0].deserialize(archive.open(container_stack_file).read().decode("utf-8")) - if network_authentication_id: - container_stacks[0].addMetaDataEntry("network_authentication_id", network_authentication_id) - if network_authentication_key: - container_stacks[0].addMetaDataEntry("network_authentication_key", network_authentication_key) + # NOTE: This is the same code as those in the lower part + # deserialize new extruder stack over the current ones + stack = self._overrideExtruderStack(global_stack, extruder_file_content) + elif self._resolve_strategies["machine"] == "new": - new_id = self.getNewId(container_id) - stack = ContainerStack(new_id) - stack.deserialize(archive.open(container_stack_file).read().decode("utf-8")) + # create a new extruder stack from this one + new_id = extruder_stack_id_map[container_id] + stack = ExtruderStack(new_id) + + # HACK: the global stack can have a new name, so we need to make sure that this extruder stack + # references to the new name instead of the old one. Normally, this can be done after + # deserialize() by setting the metadata, but in the case of ExtruderStack, deserialize() + # also does addExtruder() to its machine stack, so we have to make sure that it's pointing + # to the right machine BEFORE deserialization. + extruder_config = configparser.ConfigParser() + extruder_config.read_string(extruder_file_content) + extruder_config.set("metadata", "machine", global_stack_id_new) + tmp_string_io = io.StringIO() + extruder_config.write(tmp_string_io) + extruder_file_content = tmp_string_io.getvalue() + + stack.deserialize(extruder_file_content) # Ensure a unique ID and name stack._id = new_id - # Extruder stacks are "bound" to a machine. If we add the machine as a new one, the id of the - # bound machine also needs to change. - if stack.getMetaDataEntry("machine", None): - stack.setMetaDataEntry("machine", self.getNewId(stack.getMetaDataEntry("machine"))) - - if stack.getMetaDataEntry("type") != "extruder_train": - # Only machines need a new name, stacks may be non-unique - stack.setName(self._container_registry.uniqueName(stack.getName())) - container_stacks_added.append(stack) self._container_registry.addContainer(stack) - else: - Logger.log("w", "Resolve strategy of %s for machine is not supported", self._resolve_strategies["machine"]) + extruder_stacks_added.append(stack) + containers_added.append(stack) else: - stack = ContainerStack(container_id) - # Deserialize stack by converting read data from bytes to string - stack.deserialize(archive.open(container_stack_file).read().decode("utf-8")) - container_stacks_added.append(stack) - self._container_registry.addContainer(stack) + # No extruder stack with the same ID can be found + if self._resolve_strategies["machine"] == "override": + # deserialize new extruder stack over the current ones + stack = self._overrideExtruderStack(global_stack, extruder_file_content) - if stack.getMetaDataEntry("type") == "extruder_train": - extruder_stacks.append(stack) - else: - global_stack = stack - Job.yieldThread() + elif self._resolve_strategies["machine"] == "new": + # container not found, create a new one + stack = ExtruderStack(container_id) + + # HACK: the global stack can have a new name, so we need to make sure that this extruder stack + # references to the new name instead of the old one. Normally, this can be done after + # deserialize() by setting the metadata, but in the case of ExtruderStack, deserialize() + # also does addExtruder() to its machine stack, so we have to make sure that it's pointing + # to the right machine BEFORE deserialization. + extruder_config = configparser.ConfigParser() + extruder_config.read_string(extruder_file_content) + extruder_config.set("metadata", "machine", global_stack_id_new) + tmp_string_io = io.StringIO() + extruder_config.write(tmp_string_io) + extruder_file_content = tmp_string_io.getvalue() + + stack.deserialize(extruder_file_content) + self._container_registry.addContainer(stack) + extruder_stacks_added.append(stack) + containers_added.append(stack) + else: + Logger.log("w", "Unknown resolve strategy: %s" % str(self._resolve_strategies["machine"])) + + extruder_stacks.append(stack) except: Logger.logException("w", "We failed to serialize the stack. Trying to clean up.") # Something went really wrong. Try to remove any data that we added. - for container in containers_to_add: - self._container_registry.getInstance().removeContainer(container.getId()) - - for container in container_stacks_added: - self._container_registry.getInstance().removeContainer(container.getId()) - - return None + for container in containers_added: + self._container_registry.removeContainer(container.getId()) + return + # + # Replacing the old containers if resolve is "new". + # When resolve is "new", some containers will get renamed, so all the other containers that reference to those + # MUST get updated too. + # if self._resolve_strategies["machine"] == "new": # A new machine was made, but it was serialized with the wrong user container. Fix that now. for container in user_instance_containers: + # replacing the container ID for user instance containers for the extruders extruder_id = container.getMetaDataEntry("extruder", None) if extruder_id: for extruder in extruder_stacks: if extruder.getId() == extruder_id: - extruder.replaceContainer(0, container) + extruder.userChanges = container continue + + # replacing the container ID for user instance containers for the machine machine_id = container.getMetaDataEntry("machine", None) if machine_id: if global_stack.getId() == machine_id: - global_stack.replaceContainer(0, container) + global_stack.userChanges = container continue - if self._resolve_strategies["quality_changes"] == "new": - # Quality changes needs to get a new ID, added to registry and to the right stacks - for container in quality_changes_instance_containers: - old_id = container.getId() - container.setName(self._container_registry.uniqueName(container.getName())) - # We're not really supposed to change the ID in normal cases, but this is an exception. - container._id = self.getNewId(container.getId()) + for changes_container_type in ("quality_changes", "definition_changes"): + if self._resolve_strategies[changes_container_type] == "new": + # Quality changes needs to get a new ID, added to registry and to the right stacks + for each_changes_container in quality_and_definition_changes_instance_containers: + # NOTE: The renaming and giving new IDs are possibly redundant because they are done in the + # instance container loading part. + new_id = each_changes_container.getId() - # The container was not added yet, as it didn't have an unique ID. It does now, so add it. - self._container_registry.addContainer(container) + # Find the old (current) changes container in the global stack + if changes_container_type == "quality_changes": + old_container = global_stack.qualityChanges + elif changes_container_type == "definition_changes": + old_container = global_stack.definitionChanges - # Replace the quality changes container - old_container = global_stack.findContainer({"type": "quality_changes"}) - if old_container.getId() == old_id: - quality_changes_index = global_stack.getContainerIndex(old_container) - global_stack.replaceContainer(quality_changes_index, container) - continue + # sanity checks + # NOTE: The following cases SHOULD NOT happen!!!! + if not old_container: + Logger.log("e", "We try to get [%s] from the global stack [%s] but we got None instead!", + changes_container_type, global_stack.getId()) - for stack in extruder_stacks: - old_container = stack.findContainer({"type": "quality_changes"}) - if old_container.getId() == old_id: - quality_changes_index = stack.getContainerIndex(old_container) - stack.replaceContainer(quality_changes_index, container) + # Replace the quality/definition changes container if it's in the GlobalStack + # NOTE: we can get an empty container here, but the IDs will not match, + # so this comparison is fine. + if self._id_mapping.get(old_container.getId()) == new_id: + if changes_container_type == "quality_changes": + global_stack.qualityChanges = each_changes_container + elif changes_container_type == "definition_changes": + global_stack.definitionChanges = each_changes_container + continue + + # Replace the quality/definition changes container if it's in one of the ExtruderStacks + for each_extruder_stack in extruder_stacks: + changes_container = None + if changes_container_type == "quality_changes": + changes_container = each_extruder_stack.qualityChanges + elif changes_container_type == "definition_changes": + changes_container = each_extruder_stack.definitionChanges + + # sanity checks + # NOTE: The following cases SHOULD NOT happen!!!! + if not changes_container: + Logger.log("e", "We try to get [%s] from the extruder stack [%s] but we got None instead!", + changes_container_type, each_extruder_stack.getId()) + + # NOTE: we can get an empty container here, but the IDs will not match, + # so this comparison is fine. + if self._id_mapping.get(changes_container.getId()) == new_id: + if changes_container_type == "quality_changes": + each_extruder_stack.qualityChanges = each_changes_container + elif changes_container_type == "definition_changes": + each_extruder_stack.definitionChanges = each_changes_container if self._resolve_strategies["material"] == "new": - for material in material_containers: - old_material = global_stack.findContainer({"type": "material"}) - if old_material.getId() in self._id_mapping: - material_index = global_stack.getContainerIndex(old_material) - global_stack.replaceContainer(material_index, material) + for each_material in material_containers: + old_material = global_stack.material + + # check if the old material container has been renamed to this material container ID + # if the container hasn't been renamed, we do nothing. + new_id = self._id_mapping.get(old_material.getId()) + if new_id is None or new_id != each_material.getId(): continue - for stack in extruder_stacks: - old_material = stack.findContainer({"type": "material"}) - if old_material.getId() in self._id_mapping: - material_index = stack.getContainerIndex(old_material) - stack.replaceContainer(material_index, material) + if old_material.getId() in self._id_mapping: + global_stack.material = each_material + + for each_extruder_stack in extruder_stacks: + old_material = each_extruder_stack.material + + # check if the old material container has been renamed to this material container ID + # if the container hasn't been renamed, we do nothing. + new_id = self._id_mapping.get(old_material.getId()) + if new_id is None or new_id != each_material.getId(): continue - for stack in extruder_stacks: - ExtruderManager.getInstance().registerExtruder(stack, global_stack.getId()) + if old_material.getId() in self._id_mapping: + each_extruder_stack.material = each_material + + if extruder_stacks: + for stack in extruder_stacks: + ExtruderManager.getInstance().registerExtruder(stack, global_stack.getId()) else: # Machine has no extruders, but it needs to be registered with the extruder manager. ExtruderManager.getInstance().registerExtruder(None, global_stack.getId()) Logger.log("d", "Workspace loading is notifying rest of the code of changes...") - # Notify everything/one that is to notify about changes. - global_stack.containersChanged.emit(global_stack.getTop()) - - for stack in extruder_stacks: - stack.setNextStack(global_stack) - stack.containersChanged.emit(stack.getTop()) + if self._resolve_strategies["machine"] == "new": + for stack in extruder_stacks: + stack.setNextStack(global_stack) + stack.containersChanged.emit(stack.getTop()) # Actually change the active machine. Application.getInstance().setGlobalContainerStack(global_stack) + # Notify everything/one that is to notify about changes. + global_stack.containersChanged.emit(global_stack.getTop()) + # Load all the nodes / meshdata of the workspace nodes = self._3mf_mesh_reader.read(file_name) if nodes is None: diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index 1bae9575f2..9d6c70cf8b 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -1,7 +1,7 @@ # Copyright (c) 2016 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from PyQt5.QtCore import Qt, QUrl, pyqtSignal, QObject, pyqtProperty, QCoreApplication +from PyQt5.QtCore import QUrl, pyqtSignal, QObject, pyqtProperty, QCoreApplication from UM.FlameProfiler import pyqtSlot from PyQt5.QtQml import QQmlComponent, QQmlContext from UM.PluginRegistry import PluginRegistry @@ -29,11 +29,13 @@ class WorkspaceDialog(QObject): self._default_strategy = "override" self._result = {"machine": self._default_strategy, "quality_changes": self._default_strategy, + "definition_changes": self._default_strategy, "material": self._default_strategy} self._visible = False self.showDialogSignal.connect(self.__show) self._has_quality_changes_conflict = False + self._has_definition_changes_conflict = False self._has_machine_conflict = False self._has_material_conflict = False self._num_visible_settings = 0 @@ -51,6 +53,7 @@ class WorkspaceDialog(QObject): machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() + definitionChangesConflictChanged = pyqtSignal() materialConflictChanged = pyqtSignal() numVisibleSettingsChanged = pyqtSignal() activeModeChanged = pyqtSignal() @@ -185,6 +188,10 @@ class WorkspaceDialog(QObject): def qualityChangesConflict(self): return self._has_quality_changes_conflict + @pyqtProperty(bool, notify=definitionChangesConflictChanged) + def definitionChangesConflict(self): + return self._has_definition_changes_conflict + @pyqtProperty(bool, notify=materialConflictChanged) def materialConflict(self): return self._has_material_conflict @@ -214,11 +221,18 @@ class WorkspaceDialog(QObject): self._has_quality_changes_conflict = quality_changes_conflict self.qualityChangesConflictChanged.emit() + def setDefinitionChangesConflict(self, definition_changes_conflict): + if self._has_definition_changes_conflict != definition_changes_conflict: + self._has_definition_changes_conflict = definition_changes_conflict + self.definitionChangesConflictChanged.emit() + def getResult(self): if "machine" in self._result and not self._has_machine_conflict: self._result["machine"] = None if "quality_changes" in self._result and not self._has_quality_changes_conflict: self._result["quality_changes"] = None + if "definition_changes" in self._result and not self._has_definition_changes_conflict: + self._result["definition_changes"] = None if "material" in self._result and not self._has_material_conflict: self._result["material"] = None return self._result @@ -240,6 +254,7 @@ class WorkspaceDialog(QObject): # Reset the result self._result = {"machine": self._default_strategy, "quality_changes": self._default_strategy, + "definition_changes": self._default_strategy, "material": self._default_strategy} self._visible = True self.showDialogSignal.emit() diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 8be83f1a58..72f1f950f0 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -12,15 +12,12 @@ UM.Dialog { title: catalog.i18nc("@title:window", "Open Project") - width: 550 * Screen.devicePixelRatio - minimumWidth: 550 * Screen.devicePixelRatio - maximumWidth: minimumWidth + width: 500 + height: 400 + + property int comboboxHeight: 15 + property int spacerHeight: 10 - height: 400 * Screen.devicePixelRatio - minimumHeight: 400 * Screen.devicePixelRatio - maximumHeight: minimumHeight - property int comboboxHeight: 15 * Screen.devicePixelRatio - property int spacerHeight: 10 * Screen.devicePixelRatio onClosing: manager.notifyClosed() onVisibleChanged: { @@ -34,7 +31,7 @@ UM.Dialog Item { anchors.fill: parent - anchors.margins: 20 * Screen.devicePixelRatio + anchors.margins: 20 UM.I18nCatalog { @@ -376,7 +373,6 @@ UM.Dialog enabled: true anchors.bottom: parent.bottom anchors.right: ok_button.left - anchors.bottomMargin: - 0.5 * height anchors.rightMargin:2 } Button @@ -384,7 +380,6 @@ UM.Dialog id: ok_button text: catalog.i18nc("@action:button","Open"); onClicked: { manager.closeBackend(); manager.onOkButtonClicked() } - anchors.bottomMargin: - 0.5 * height anchors.bottom: parent.bottom anchors.right: parent.right } diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index 6e3e5aa918..9ed15cf43f 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -16,21 +16,13 @@ from UM.Platform import Platform catalog = i18nCatalog("cura") def getMetaData() -> Dict: - # Workarround for osx not supporting double file extensions correclty. + # Workarround for osx not supporting double file extensions correctly. if Platform.isOSX(): workspace_extension = "3mf" else: workspace_extension = "curaproject.3mf" - metaData = { - "plugin": { - "name": catalog.i18nc("@label", "3MF Reader"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides support for reading 3MF files."), - "api": 3 - } - } + metaData = {} if "3MFReader.ThreeMFReader" in sys.modules: metaData["mesh_reader"] = [ { diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json new file mode 100644 index 0000000000..5d15123017 --- /dev/null +++ b/plugins/3MFReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "3MF Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for reading 3MF files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 0960d89076..326cd87845 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -7,6 +7,7 @@ from cura.Settings.ExtruderManager import ExtruderManager import zipfile from io import StringIO import copy +import configparser class ThreeMFWorkspaceWriter(WorkspaceWriter): @@ -48,6 +49,16 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): Preferences.getInstance().writeToFile(preferences_string) archive.writestr(preferences_file, preferences_string.getvalue()) + # Save Cura version + version_file = zipfile.ZipInfo("Cura/version.ini") + version_config_parser = configparser.ConfigParser() + version_config_parser.add_section("versions") + version_config_parser.set("versions", "cura_version", Application.getStaticVersion()) + + version_file_string = StringIO() + version_config_parser.write(version_file_string) + archive.writestr(version_file, version_file_string.getvalue()) + # Close the archive & reset states. archive.close() mesh_writer.setStoreArchive(False) diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 09bf06749e..7395e54502 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -10,19 +10,18 @@ except ImportError: from . import ThreeMFWorkspaceWriter from UM.i18n import i18nCatalog +from UM.Platform import Platform i18n_catalog = i18nCatalog("uranium") def getMetaData(): - metaData = { - "plugin": { - "name": i18n_catalog.i18nc("@label", "3MF Writer"), - "author": "Ultimaker", - "version": "1.0", - "description": i18n_catalog.i18nc("@info:whatsthis", "Provides support for writing 3MF files."), - "api": 3 - } - } + # Workarround for osx not supporting double file extensions correctly. + if Platform.isOSX(): + workspace_extension = "3mf" + else: + workspace_extension = "curaproject.3mf" + + metaData = {} if "3MFWriter.ThreeMFWriter" in sys.modules: metaData["mesh_writer"] = { @@ -35,7 +34,7 @@ def getMetaData(): } metaData["workspace_writer"] = { "output": [{ - "extension": "curaproject.3mf", + "extension": workspace_extension, "description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"), "mime_type": "application/x-curaproject+xml", "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode diff --git a/plugins/3MFWriter/plugin.json b/plugins/3MFWriter/plugin.json new file mode 100644 index 0000000000..22d18b2cf1 --- /dev/null +++ b/plugins/3MFWriter/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "3MF Writer", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for writing 3MF files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/AutoSave/__init__.py b/plugins/AutoSave/__init__.py index 7e70ebe0a2..dbf39e08cf 100644 --- a/plugins/AutoSave/__init__.py +++ b/plugins/AutoSave/__init__.py @@ -7,15 +7,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - return { - "plugin": { - "name": catalog.i18nc("@label", "Auto Save"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Automatically saves Preferences, Machines and Profiles after changes."), - "api": 3 - }, - } + return {} def register(app): return { "extension": AutoSave.AutoSave() } diff --git a/plugins/AutoSave/plugin.json b/plugins/AutoSave/plugin.json new file mode 100644 index 0000000000..32e07a1062 --- /dev/null +++ b/plugins/AutoSave/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Auto Save", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Automatically saves Preferences, Machines and Profiles after changes.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index c7b63be889..b7ed1e8da0 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,3 +1,75 @@ +[2.6.1] +*New profiles +The Polypropylene material is added and supported with the Ultimaker 3. Support for CPE+ and PC with 0.8mm nozzles is added as well. + +[2.6.0] +*Cura versions +Cura 2.6 has local version folders, which means the new version won’t overwrite the existing configuration and profiles from older versions, but can create a new folder instead. You can now safely check out new beta versions and, if necessary, start up an older version without the danger of losing your profiles. + +*Better support adhesion +We’ve added extra support settings to allow the creation of improved support profiles with better PVA/PLA adhesion. The Support Interface settings, such as speed and density, are now split up into Support Roof and Support Floor settings. + +*Multi-extrusion support for custom FDM printers +Custom third-party printers and Ultimaker modifications now have multi-extrusion support. Thanks to Aldo Hoeben for this feature. + +*Model auto-arrange +We’ve improved placing multiple models or multiplying the same ones, making it easier to arrange your build plate. If there’s not enough build plate space or the model is placed beyond the build plate, you can rectify this by selecting ‘Arrange all models’ in the context menu or by pressing Command+R (MacOS) or Ctrl+R (Windows and Linux). Cura 2.6 will then find a better solution for model positioning. + +*Gradual infill +You can now find the Gradual Infill button in Recommended mode. This setting makes the infill concentrated near the top of the model – so that we can save time and material for the lower parts of the model. This functionality is especially useful when printing with flexible materials. + +*Support meshes +It’s now possible to load an extra model that will be used as a support structure. + +*Mold +This is a bit of an experimental improvement. Users can use it to print a mold from a 3D model, which can be cast afterwards with the material that you would like your model to have. + +*Towers for tiny overhangs +We’ve added a new support option allowing users to achieve more reliable results by creating towers to support even the smallest overhangs. + +*Cutting meshes +Easily transform any model into a dual-extrusion print by applying a pattern for the second extruder. All areas of the original model, which also fall inside the pattern model, will be printed by the extruder selected for the pattern. + +*Extruder per model selection via the context menu or extruder buttons +You can now select the necessary extruder in the right-click menu or extruder buttons. This is a quicker and more user-friendly process. The material color for each extruder will also be represented in the extruder icons. + +*Custom toggle +We have made the interface a little bit cleaner and more user-friendly for switching from Recommended to Custom mode. + +*Plugin installer +It used to be fairly tricky to install new plugins. We have now added a button to select and install new plugins with ease – you will find it in Preferences. + +*Project-based menu +It’s a lot simpler to save and open files, and Cura will know if it’s a project, model, or gcode. + +*Theme picker +If you have a custom theme, you can now apply it more easily in the preferences screen. + +*Time estimates per feature +You can hover over the print time estimate in the lower right corner to see how the printing time is divided over the printing features (walls, infill, etc.). Thanks to 14bitVoid for this feature. + +*Invert the direction of camera zoom +We’ve added an option to invert mouse direction for a better user experience. + +*Olsson block upgrade +Ultimaker 2 users can now specify if they have the Olsson block installed on their machine. Thanks to Aldo Hoeben for this feature. + +*OctoPrint plugin +Cura 2.6 allows users to send prints to OctoPrint. Thanks to Aldo Hoeben for this feature. + +*Bug fixes +- Post Processing plugin +- Font rendering +- Progress bar +- Support Bottom Distance issues + +*3rd party printers +- MAKEIT +- Alya +- Peopoly Moai +- Rigid3D Zero +- 3D maker + [2.5.0] *Improved speed We’ve made changing printers, profiles, materials, and print cores even faster. 3MF processing is also much faster now. Opening a 3MF file now takes one tenth of the time. @@ -79,7 +151,7 @@ The initial and final printing temperatures reduce the amount of oozing during P Initial and final printing temperature settings have been tuned for higher quality results. For all materials the initial print temperature is 5 degrees above the default value. *Printing temperature of the materials -The printing temperature of the materials in the material profiles is now the same as the printing temperature for the Normal Quality profile. +The printing temperature of the materials in the material profiles is now the same as the printing temperature for the Fine profile. *Improved PLA-PVA layer adhesion The PVA jerk and acceleration have been optimized to improve the layer adhesion between PVA and PLA. diff --git a/plugins/ChangeLogPlugin/__init__.py b/plugins/ChangeLogPlugin/__init__.py index 8466bfaa1b..dbeac8cb2d 100644 --- a/plugins/ChangeLogPlugin/__init__.py +++ b/plugins/ChangeLogPlugin/__init__.py @@ -7,15 +7,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - return { - "plugin": { - "name": catalog.i18nc("@label", "Changelog"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Shows changes since latest checked version."), - "api": 3 - } - } + return {} def register(app): return {"extension": ChangeLog.ChangeLog()} diff --git a/plugins/ChangeLogPlugin/plugin.json b/plugins/ChangeLogPlugin/plugin.json new file mode 100644 index 0000000000..e9414b9b71 --- /dev/null +++ b/plugins/ChangeLogPlugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Changelog", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Shows changes since latest checked version.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/CuraEngineBackend/Cura.proto b/plugins/CuraEngineBackend/Cura.proto index 4eab500f0a..c2e4e5bb5f 100644 --- a/plugins/CuraEngineBackend/Cura.proto +++ b/plugins/CuraEngineBackend/Cura.proto @@ -90,9 +90,21 @@ message GCodeLayer { } -message PrintTimeMaterialEstimates { // The print time for the whole print and material estimates for the extruder - float time = 1; // Total time estimate - repeated MaterialEstimates materialEstimates = 2; // materialEstimates data +message PrintTimeMaterialEstimates { // The print time for each feature and material estimates for the extruder + // Time estimate in each feature + float time_none = 1; + float time_inset_0 = 2; + float time_inset_x = 3; + float time_skin = 4; + float time_support = 5; + float time_skirt = 6; + float time_infill = 7; + float time_support_infill = 8; + float time_travel = 9; + float time_retract = 10; + float time_support_interface = 11; + + repeated MaterialEstimates materialEstimates = 12; // materialEstimates data } message MaterialEstimates { @@ -121,4 +133,4 @@ message GCodePrefix { } message SlicingFinished { -} \ No newline at end of file +} diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index f32993fd20..9c9c9a1b90 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -187,7 +187,19 @@ class CuraEngineBackend(QObject, Backend): Logger.log("w", "Slice unnecessary, nothing has changed that needs reslicing.") return - self.printDurationMessage.emit(0, [0]) + self.printDurationMessage.emit({ + "none": 0, + "inset_0": 0, + "inset_x": 0, + "skin": 0, + "support": 0, + "skirt": 0, + "infill": 0, + "support_infill": 0, + "travel": 0, + "retract": 0, + "support_interface": 0 + }, [0]) self._stored_layer_data = [] self._stored_optimized_layer_data = [] @@ -273,9 +285,15 @@ class CuraEngineBackend(QObject, Backend): if not extruders: error_keys = self._global_container_stack.getErrorKeys() error_labels = set() - definition_container = self._global_container_stack.getBottom() for key in error_keys: - error_labels.add(definition_container.findDefinitions(key = key)[0].label) + for stack in [self._global_container_stack] + extruders: #Search all container stacks for the definition of this setting. Some are only in an extruder stack. + definitions = stack.getBottom().findDefinitions(key = key) + if definitions: + break #Found it! No need to continue search. + else: #No stack has a definition for this setting. + Logger.log("w", "When checking settings for errors, unable to find definition for key: {key}".format(key = key)) + continue + error_labels.add(definitions[0].label) error_labels = ", ".join(error_labels) self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}".format(error_labels))) @@ -475,13 +493,26 @@ class CuraEngineBackend(QObject, Backend): ## Called when a print time message is received from the engine. # - # \param message The protobuff message containing the print time and + # \param message The protobuf message containing the print time per feature and # material amount per extruder def _onPrintTimeMaterialEstimates(self, message): material_amounts = [] for index in range(message.repeatedMessageCount("materialEstimates")): material_amounts.append(message.getRepeatedMessage("materialEstimates", index).material_amount) - self.printDurationMessage.emit(message.time, material_amounts) + feature_times = { + "none": message.time_none, + "inset_0": message.time_inset_0, + "inset_x": message.time_inset_x, + "skin": message.time_skin, + "support": message.time_support, + "skirt": message.time_skirt, + "infill": message.time_infill, + "support_infill": message.time_support_infill, + "travel": message.time_travel, + "retract": message.time_retract, + "support_interface": message.time_support_interface + } + self.printDurationMessage.emit(feature_times, material_amounts) ## Creates a new socket connection. def _createSocket(self): diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index f7be2edc04..15cda75eb8 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -1,5 +1,5 @@ -# Copyright (c) 2016 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. +#Copyright (c) 2017 Ultimaker B.V. +#Cura is released under the terms of the AGPLv3 or higher. import gc @@ -31,6 +31,9 @@ catalog = i18nCatalog("cura") # # \param color_code html color code, i.e. "#FF0000" -> red def colorCodeToRGBA(color_code): + if color_code is None: + Logger.log("w", "Unable to convert color code, returning default") + return [0, 0, 0, 1] return [ int(color_code[1:3], 16) / 255, int(color_code[3:5], 16) / 255, @@ -170,19 +173,14 @@ class ProcessSlicedLayersJob(Job): if extruders: material_color_map = numpy.zeros((len(extruders), 4), dtype=numpy.float32) for extruder in extruders: - material = extruder.findContainer({"type": "material"}) position = int(extruder.getMetaDataEntry("position", default="0")) # Get the position - color_code = material.getMetaDataEntry("color_code") + color_code = extruder.material.getMetaDataEntry("color_code", default="#e0e000") color = colorCodeToRGBA(color_code) material_color_map[position, :] = color else: # Single extruder via global stack. material_color_map = numpy.zeros((1, 4), dtype=numpy.float32) - material = global_container_stack.findContainer({"type": "material"}) - color_code = "#e0e000" - if material: - if material.getMetaDataEntry("color_code") is not None: - color_code = material.getMetaDataEntry("color_code") + color_code = global_container_stack.material.getMetaDataEntry("color_code", default="#e0e000") color = colorCodeToRGBA(color_code) material_color_map[0, :] = color diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 8abb72fa92..f2e9cb7db2 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -44,6 +44,14 @@ class GcodeStartEndFormatter(Formatter): ## Job class that builds up the message of scene data to send to CuraEngine. class StartSliceJob(Job): + ## Meshes that are sent to the engine regardless of being outside of the + # build volume. + # + # If these settings are True for any mesh, the build volume is ignored. + # Note that Support Mesh is not in here because it actually generates + # g-code in the volume of the mesh. + _not_printed_mesh_settings = {"anti_overhang_mesh", "infill_mesh", "cutting_mesh"} + def __init__(self, slice_message): super().__init__() @@ -132,7 +140,8 @@ class StartSliceJob(Job): temp_list = [] for node in DepthFirstIterator(self._scene.getRoot()): if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None: - if not getattr(node, "_outside_buildarea", False): + if not getattr(node, "_outside_buildarea", False)\ + or (node.callDecoration("getStack") and any(node.callDecoration("getStack").getProperty(setting, "value") for setting in self._not_printed_mesh_settings)): temp_list.append(node) Job.yieldThread() @@ -149,8 +158,13 @@ class StartSliceJob(Job): self._buildGlobalSettingsMessage(stack) self._buildGlobalInheritsStackMessage(stack) - for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): - self._buildExtruderMessage(extruder_stack) + # Only add extruder stacks if there are multiple extruders + # Single extruder machines only use the global stack to store setting values + if stack.getProperty("machine_extruder_count", "value") > 1: + for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): + self._buildExtruderMessage(extruder_stack) + else: + self._buildExtruderMessageFromGlobalStack(stack) for group in object_groups: group_message = self._slice_message.addRepeatedMessage("object_lists") @@ -212,7 +226,7 @@ class StartSliceJob(Job): for key in stack.getAllKeys(): # Do not send settings that are not settable_per_extruder. - if stack.getProperty(key, "settable_per_extruder") == False: + if not stack.getProperty(key, "settable_per_extruder"): continue setting = message.getMessage("settings").addRepeatedMessage("settings") setting.name = key @@ -223,6 +237,19 @@ class StartSliceJob(Job): setting.value = str(stack.getProperty(key, "value")).encode("utf-8") Job.yieldThread() + ## Create extruder message from global stack + def _buildExtruderMessageFromGlobalStack(self, stack): + message = self._slice_message.addRepeatedMessage("extruders") + + for key in stack.getAllKeys(): + # Do not send settings that are not settable_per_extruder. + if not stack.getProperty(key, "settable_per_extruder"): + continue + setting = message.getMessage("settings").addRepeatedMessage("settings") + setting.name = key + setting.value = str(stack.getProperty(key, "value")).encode("utf-8") + Job.yieldThread() + ## Sends all global settings to the engine. # # The settings are taken from the global stack. This does not include any diff --git a/plugins/CuraEngineBackend/__init__.py b/plugins/CuraEngineBackend/__init__.py index 2e652ae845..a5269d03cd 100644 --- a/plugins/CuraEngineBackend/__init__.py +++ b/plugins/CuraEngineBackend/__init__.py @@ -8,14 +8,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - return { - "plugin": { - "name": catalog.i18nc("@label", "CuraEngine Backend"), - "author": "Ultimaker", - "description": catalog.i18nc("@info:whatsthis", "Provides the link to the CuraEngine slicing backend."), - "api": 3 - } - } + return {} def register(app): return { "backend": CuraEngineBackend.CuraEngineBackend() } diff --git a/plugins/CuraEngineBackend/plugin.json b/plugins/CuraEngineBackend/plugin.json new file mode 100644 index 0000000000..e5df06f228 --- /dev/null +++ b/plugins/CuraEngineBackend/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "CuraEngine Backend", + "author": "Ultimaker B.V.", + "description": "Provides the link to the CuraEngine slicing backend.", + "api": 4, + "version": "1.0.0", + "i18n-catalog": "cura" +} diff --git a/plugins/CuraProfileReader/__init__.py b/plugins/CuraProfileReader/__init__.py index c4206ab763..bbf446fc5f 100644 --- a/plugins/CuraProfileReader/__init__.py +++ b/plugins/CuraProfileReader/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Cura Profile Reader"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides support for importing Cura profiles."), - "api": 3 - }, "profile_reader": [ { "extension": "curaprofile", diff --git a/plugins/CuraProfileReader/plugin.json b/plugins/CuraProfileReader/plugin.json new file mode 100644 index 0000000000..004a1ade4d --- /dev/null +++ b/plugins/CuraProfileReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Cura Profile Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for importing Cura profiles.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/CuraProfileWriter/__init__.py b/plugins/CuraProfileWriter/__init__.py index 30528b8167..244ba580cd 100644 --- a/plugins/CuraProfileWriter/__init__.py +++ b/plugins/CuraProfileWriter/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Cura Profile Writer"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides support for exporting Cura profiles."), - "api": 3 - }, "profile_writer": [ { "extension": "curaprofile", diff --git a/plugins/CuraProfileWriter/plugin.json b/plugins/CuraProfileWriter/plugin.json new file mode 100644 index 0000000000..d9accce770 --- /dev/null +++ b/plugins/CuraProfileWriter/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Cura Profile Writer", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for exporting Cura profiles.", + "api": 4, + "i18n-catalog":"cura" +} diff --git a/plugins/GCodeProfileReader/GCodeProfileReader.py b/plugins/GCodeProfileReader/GCodeProfileReader.py index abfef6e296..0abbcfc833 100644 --- a/plugins/GCodeProfileReader/GCodeProfileReader.py +++ b/plugins/GCodeProfileReader/GCodeProfileReader.py @@ -56,7 +56,7 @@ class GCodeProfileReader(ProfileReader): # TODO: Consider moving settings to the start? serialized = "" # Will be filled with the serialized profile. try: - with open(file_name) as f: + with open(file_name, "r") as f: for line in f: if line.startswith(prefix): # Remove the prefix and the newline from the line and add it to the rest. @@ -66,9 +66,13 @@ class GCodeProfileReader(ProfileReader): return None serialized = unescapeGcodeComment(serialized) - Logger.log("i", "Serialized the following from %s: %s" %(file_name, repr(serialized))) - json_data = json.loads(serialized) + # serialized data can be invalid JSON + try: + json_data = json.loads(serialized) + except Exception as e: + Logger.log("e", "Could not parse serialized JSON data from GCode %s, error: %s", file_name, e) + return None profiles = [] global_profile = readQualityProfileFromString(json_data["global_quality"]) diff --git a/plugins/GCodeProfileReader/__init__.py b/plugins/GCodeProfileReader/__init__.py index 690ef69376..a5912e3cb3 100644 --- a/plugins/GCodeProfileReader/__init__.py +++ b/plugins/GCodeProfileReader/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "GCode Profile Reader"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides support for importing profiles from g-code files."), - "api": 3 - }, "profile_reader": [ { "extension": "gcode", diff --git a/plugins/GCodeProfileReader/plugin.json b/plugins/GCodeProfileReader/plugin.json new file mode 100644 index 0000000000..8111bc687c --- /dev/null +++ b/plugins/GCodeProfileReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "GCode Profile Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for importing profiles from g-code files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/GCodeReader/__init__.py b/plugins/GCodeReader/__init__.py index 2ff412e757..7cabeaf5a8 100644 --- a/plugins/GCodeReader/__init__.py +++ b/plugins/GCodeReader/__init__.py @@ -8,13 +8,6 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": i18n_catalog.i18nc("@label", "G-code Reader"), - "author": "Victor Larchenko", - "version": "1.0", - "description": i18n_catalog.i18nc("@info:whatsthis", "Allows loading and displaying G-code files."), - "api": 3 - }, "mesh_reader": [ { "extension": "gcode", diff --git a/plugins/GCodeReader/plugin.json b/plugins/GCodeReader/plugin.json new file mode 100644 index 0000000000..f72a8cc12c --- /dev/null +++ b/plugins/GCodeReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "G-code Reader", + "author": "Victor Larchenko", + "version": "1.0.0", + "description": "Allows loading and displaying G-code files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py index 162738f073..61bd682de0 100644 --- a/plugins/GCodeWriter/GCodeWriter.py +++ b/plugins/GCodeWriter/GCodeWriter.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from UM.Mesh.MeshWriter import MeshWriter @@ -85,6 +85,7 @@ class GCodeWriter(MeshWriter): for key in instance_container1.getAllKeys(): flat_container.setProperty(key, "value", instance_container1.getProperty(key, "value")) + return flat_container @@ -100,26 +101,32 @@ class GCodeWriter(MeshWriter): prefix = ";SETTING_" + str(GCodeWriter.version) + " " # The prefix to put before each line. prefix_length = len(prefix) - container_with_profile = stack.findContainer({"type": "quality_changes"}) + container_with_profile = stack.qualityChanges if not container_with_profile: Logger.log("e", "No valid quality profile found, not writing settings to GCode!") return "" flat_global_container = self._createFlattenedContainerInstance(stack.getTop(), container_with_profile) + # If the quality changes is not set, we need to set type manually + if flat_global_container.getMetaDataEntry("type", None) is None: + flat_global_container.addMetaDataEntry("type", "quality_changes") # Ensure that quality_type is set. (Can happen if we have empty quality changes). if flat_global_container.getMetaDataEntry("quality_type", None) is None: - flat_global_container.addMetaDataEntry("quality_type", stack.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) + flat_global_container.addMetaDataEntry("quality_type", stack.quality.getMetaDataEntry("quality_type", "normal")) serialized = flat_global_container.serialize() data = {"global_quality": serialized} for extruder in sorted(ExtruderManager.getInstance().getMachineExtruders(stack.getId()), key = lambda k: k.getMetaDataEntry("position")): - extruder_quality = extruder.findContainer({"type": "quality_changes"}) + extruder_quality = extruder.qualityChanges if not extruder_quality: Logger.log("w", "No extruder quality profile found, not writing quality for extruder %s to file!", extruder.getId()) continue flat_extruder_quality = self._createFlattenedContainerInstance(extruder.getTop(), extruder_quality) + # If the quality changes is not set, we need to set type manually + if flat_extruder_quality.getMetaDataEntry("type", None) is None: + flat_extruder_quality.addMetaDataEntry("type", "quality_changes") # Ensure that extruder is set. (Can happen if we have empty quality changes). if flat_extruder_quality.getMetaDataEntry("extruder", None) is None: @@ -127,7 +134,7 @@ class GCodeWriter(MeshWriter): # Ensure that quality_type is set. (Can happen if we have empty quality changes). if flat_extruder_quality.getMetaDataEntry("quality_type", None) is None: - flat_extruder_quality.addMetaDataEntry("quality_type", extruder.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) + flat_extruder_quality.addMetaDataEntry("quality_type", extruder.quality.getMetaDataEntry("quality_type", "normal")) extruder_serialized = flat_extruder_quality.serialize() data.setdefault("extruder_quality", []).append(extruder_serialized) diff --git a/plugins/GCodeWriter/__init__.py b/plugins/GCodeWriter/__init__.py index efe3368c61..904deb1c19 100644 --- a/plugins/GCodeWriter/__init__.py +++ b/plugins/GCodeWriter/__init__.py @@ -8,13 +8,7 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "GCode Writer"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Writes GCode to a file."), - "api": 3 - }, + "mesh_writer": { "output": [{ diff --git a/plugins/GCodeWriter/plugin.json b/plugins/GCodeWriter/plugin.json new file mode 100644 index 0000000000..5788b01375 --- /dev/null +++ b/plugins/GCodeWriter/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "GCode Writer", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Writes GCode to a file.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/ImageReader/__init__.py b/plugins/ImageReader/__init__.py index 7ebdc31e57..d1fb77859e 100644 --- a/plugins/ImageReader/__init__.py +++ b/plugins/ImageReader/__init__.py @@ -8,13 +8,6 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": i18n_catalog.i18nc("@label", "Image Reader"), - "author": "Ultimaker", - "version": "1.0", - "description": i18n_catalog.i18nc("@info:whatsthis", "Enables ability to generate printable geometry from 2D image files."), - "api": 3 - }, "mesh_reader": [ { "extension": "jpg", diff --git a/plugins/ImageReader/plugin.json b/plugins/ImageReader/plugin.json new file mode 100644 index 0000000000..2752c6e8f4 --- /dev/null +++ b/plugins/ImageReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Image Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Enables ability to generate printable geometry from 2D image files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/LayerView/LayerPass.py b/plugins/LayerView/LayerPass.py index b706f21877..51a35fb48a 100755 --- a/plugins/LayerView/LayerPass.py +++ b/plugins/LayerView/LayerPass.py @@ -82,12 +82,12 @@ class LayerPass(RenderPass): start = 0 end = 0 element_counts = layer_data.getElementCounts() - for layer, counts in element_counts.items(): + for layer in sorted(element_counts.keys()): if layer > self._layer_view._current_layer_num: break if self._layer_view._minimum_layer_num > layer: - start += counts - end += counts + start += element_counts[layer] + end += element_counts[layer] # This uses glDrawRangeElements internally to only draw a certain range of lines. batch = RenderBatch(self._layer_shader, type = RenderBatch.RenderType.Solid, mode = RenderBatch.RenderMode.Lines, range = (start, end)) diff --git a/plugins/LayerView/LayerView.qml b/plugins/LayerView/LayerView.qml index 9dc038fe70..d8b37df719 100755 --- a/plugins/LayerView/LayerView.qml +++ b/plugins/LayerView/LayerView.qml @@ -11,6 +11,7 @@ import Cura 1.0 as Cura Item { + id: base width: { if (UM.LayerView.compatibilityMode) { return UM.Theme.getSize("layerview_menu_size_compatibility").width; @@ -25,8 +26,12 @@ Item return UM.Theme.getSize("layerview_menu_size").height + UM.LayerView.extruderCount * (UM.Theme.getSize("layerview_row").height + UM.Theme.getSize("layerview_row_spacing").height) } } + property var buttonTarget: { + var force_binding = parent.y; // ensure this gets reevaluated when the panel moves + return base.mapFromItem(parent.parent, parent.buttonTarget.x, parent.buttonTarget.y); + } - Rectangle { + UM.PointingRectangle { id: layerViewMenu anchors.left: parent.left anchors.top: parent.top @@ -34,6 +39,11 @@ Item height: parent.height z: slider.z - 1 color: UM.Theme.getColor("tool_panel_background") + borderWidth: UM.Theme.getSize("default_lining").width + borderColor: UM.Theme.getColor("lining") + + target: parent.buttonTarget + arrowSize: UM.Theme.getSize("default_arrow").width ColumnLayout { id: view_settings @@ -522,26 +532,19 @@ Item target: Qt.point(0, slider.activeHandle.y + slider.activeHandle.height / 2) arrowSize: UM.Theme.getSize("default_arrow").width - height: (Math.floor(UM.Theme.getSize("slider_handle").height + UM.Theme.getSize("default_margin").height) / 2) * 2 // Make sure height has an integer middle so drawing a pointy border is easier + height: UM.Theme.getSize("slider_handle").height + UM.Theme.getSize("default_margin").height width: valueLabel.width + UM.Theme.getSize("default_margin").width Behavior on height { NumberAnimation { duration: 50; } } - color: UM.Theme.getColor("lining"); + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width visible: slider.layersVisible - UM.PointingRectangle + MouseArea //Catch all mouse events (so scene doesnt handle them) { - color: UM.Theme.getColor("tool_panel_background") - target: Qt.point(0, height / 2 + UM.Theme.getSize("default_lining").width) - arrowSize: UM.Theme.getSize("default_arrow").width anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_lining").width - - MouseArea //Catch all mouse events (so scene doesnt handle them) - { - anchors.fill: parent - } } TextField diff --git a/plugins/LayerView/__init__.py b/plugins/LayerView/__init__.py index 67750fb562..0f6b43698a 100644 --- a/plugins/LayerView/__init__.py +++ b/plugins/LayerView/__init__.py @@ -9,13 +9,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Layer View"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides the Layer view."), - "api": 3 - }, "view": { "name": catalog.i18nc("@item:inlistbox", "Layers"), "view_panel": "LayerView.qml", diff --git a/plugins/LayerView/layers3d.shader b/plugins/LayerView/layers3d.shader index 6f5e986eec..e8fe425c70 100755 --- a/plugins/LayerView/layers3d.shader +++ b/plugins/LayerView/layers3d.shader @@ -130,9 +130,9 @@ geometry41core = // fixed size for movements size_x = 0.05; } else { - size_x = v_line_dim[0].x / 2 + 0.01; // radius, and make it nicely overlapping + size_x = v_line_dim[1].x / 2 + 0.01; // radius, and make it nicely overlapping } - size_y = v_line_dim[0].y / 2 + 0.01; + size_y = v_line_dim[1].y / 2 + 0.01; g_vertex_delta = gl_in[1].gl_Position - gl_in[0].gl_Position; g_vertex_normal_horz_head = normalize(vec3(-g_vertex_delta.x, -g_vertex_delta.y, -g_vertex_delta.z)); diff --git a/plugins/LayerView/plugin.json b/plugins/LayerView/plugin.json new file mode 100644 index 0000000000..232fe9c361 --- /dev/null +++ b/plugins/LayerView/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Layer View", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides the Layer view.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/LegacyProfileReader/__init__.py b/plugins/LegacyProfileReader/__init__.py index f8b1f5c156..10dd298864 100644 --- a/plugins/LegacyProfileReader/__init__.py +++ b/plugins/LegacyProfileReader/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Legacy Cura Profile Reader"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides support for importing profiles from legacy Cura versions."), - "api": 3 - }, "profile_reader": [ { "extension": "ini", diff --git a/plugins/LegacyProfileReader/plugin.json b/plugins/LegacyProfileReader/plugin.json new file mode 100644 index 0000000000..2dc71511a9 --- /dev/null +++ b/plugins/LegacyProfileReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Legacy Cura Profile Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for importing profiles from legacy Cura versions.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.py b/plugins/MachineSettingsAction/MachineSettingsAction.py index 28cd8ba2f3..950c97a4e2 100755 --- a/plugins/MachineSettingsAction/MachineSettingsAction.py +++ b/plugins/MachineSettingsAction/MachineSettingsAction.py @@ -14,7 +14,7 @@ from UM.Settings.DefinitionContainer import DefinitionContainer from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Logger import Logger -from cura.Settings.CuraContainerRegistry import CuraContainerRegistry +from cura.CuraApplication import CuraApplication from cura.Settings.ExtruderManager import ExtruderManager import UM.i18n @@ -69,8 +69,9 @@ class MachineSettingsAction(MachineAction): self._container_index = container_index self.containerIndexChanged.emit() - # Disable autoslicing while the machineaction is showing - self._backend.disableTimer() + # Disable auto-slicing while the MachineAction is showing + if self._backend: # This sometimes triggers before backend is loaded. + self._backend.disableTimer() @pyqtSlot() def onFinishAction(self): @@ -99,6 +100,7 @@ class MachineSettingsAction(MachineAction): definition = container_stack.getBottom() definition_changes_container.setDefinition(definition) definition_changes_container.addMetaDataEntry("type", "definition_changes") + definition_changes_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) self._container_registry.addContainer(definition_changes_container) container_stack.definitionChanges = definition_changes_container @@ -153,7 +155,7 @@ class MachineSettingsAction(MachineAction): if machine_manager.hasMaterials: extruder_material_id = machine_manager.allActiveMaterialIds[extruder_manager.extruderIds["0"]] if machine_manager.hasVariants: - extruder_variant_id = machine_manager.activeVariantIds[0] + extruder_variant_id = machine_manager.allActiveVariantIds[extruder_manager.extruderIds["0"]] # Copy any settable_per_extruder setting value from the extruders to the global stack extruder_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() @@ -251,7 +253,7 @@ class MachineSettingsAction(MachineAction): if definition.getProperty("machine_gcode_flavor", "value") == "UltiGCode" and not definition.getMetaDataEntry("has_materials", False): has_materials = self._global_container_stack.getProperty("machine_gcode_flavor", "value") != "UltiGCode" - material_container = self._global_container_stack.findContainer({"type": "material"}) + material_container = self._global_container_stack.material material_index = self._global_container_stack.getContainerIndex(material_container) if has_materials: @@ -272,7 +274,6 @@ class MachineSettingsAction(MachineAction): if "has_materials" in self._global_container_stack.getMetaData(): self._global_container_stack.removeMetaDataEntry("has_materials") - empty_material = self._container_registry.findInstanceContainers(id = "empty_material")[0] - self._global_container_stack.replaceContainer(material_index, empty_material) + self._global_container_stack.material = ContainerRegistry.getInstance().getEmptyInstanceContainer() Application.getInstance().globalContainerStackChanged.emit() diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index a717ee6fa6..23dc7f073f 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -16,20 +16,14 @@ Cura.MachineAction property var extrudersModel: Cura.ExtrudersModel{} property int extruderTabsCount: 0 - Component.onCompleted: + Connections { - // Populate extruder tabs after a short delay, because otherwise the tabs that are added when - // the dialog is created are stuck. - extruderTabsCountDelay.start(); - } - - Timer - { - id: extruderTabsCountDelay - repeat: false - interval: 1 - - onTriggered: base.extruderTabsCount = (machineExtruderCountProvider.properties.value > 1) ? parseInt(machineExtruderCountProvider.properties.value) : 0 + target: base.extrudersModel + onModelChanged: + { + var extruderCount = base.extrudersModel.rowCount(); + base.extruderTabsCount = extruderCount > 1 ? extruderCount : 0; + } } Connections @@ -347,7 +341,6 @@ Cura.MachineAction sourceComponent: numericTextFieldWithUnit property var propertyProvider: gantryHeightProvider property string unit: catalog.i18nc("@label", "mm") - property bool forceUpdateOnChange: false } Item { width: UM.Theme.getSize("default_margin").width; height: UM.Theme.getSize("default_margin").height } @@ -375,14 +368,9 @@ Cura.MachineAction } } currentIndex: machineExtruderCountProvider.properties.value - 1 - Component.onCompleted: - { - manager.setMachineExtruderCount(1); - } onActivated: { manager.setMachineExtruderCount(index + 1); - base.extruderTabsCount = (index > 0) ? index + 1 : 0; } } @@ -396,7 +384,6 @@ Cura.MachineAction sourceComponent: numericTextFieldWithUnit property var propertyProvider: materialDiameterProvider property string unit: catalog.i18nc("@label", "mm") - property bool forceUpdateOnChange: false } Label { @@ -410,7 +397,6 @@ Cura.MachineAction sourceComponent: numericTextFieldWithUnit property var propertyProvider: machineNozzleSizeProvider property string unit: catalog.i18nc("@label", "mm") - property bool forceUpdateOnChange: false } } } @@ -561,7 +547,6 @@ Cura.MachineAction sourceComponent: numericTextFieldWithUnit property var propertyProvider: extruderNozzleSizeProvider property string unit: catalog.i18nc("@label", "mm") - property bool forceUpdateOnChange: false } Label @@ -575,6 +560,7 @@ Cura.MachineAction property var propertyProvider: extruderOffsetXProvider property string unit: catalog.i18nc("@label", "mm") property bool forceUpdateOnChange: true + property bool allowNegative: true } Label { @@ -587,6 +573,7 @@ Cura.MachineAction property var propertyProvider: extruderOffsetYProvider property string unit: catalog.i18nc("@label", "mm") property bool forceUpdateOnChange: true + property bool allowNegative: true } } @@ -666,17 +653,21 @@ Cura.MachineAction Item { height: textField.height width: textField.width + + property bool _allowNegative: (typeof(allowNegative) === 'undefined') ? false : allowNegative + property bool _forceUpdateOnChange: (typeof(forceUpdateOnChange) === 'undefined') ? false: forceUpdateOnChange + TextField { id: textField text: (propertyProvider.properties.value) ? propertyProvider.properties.value : "" - validator: RegExpValidator { regExp: /[0-9\.]{0,6}/ } + validator: RegExpValidator { regExp: _allowNegative ? /-?[0-9\.]{0,6}/ : /[0-9\.]{0,6}/ } onEditingFinished: { if (propertyProvider && text != propertyProvider.properties.value) { propertyProvider.setPropertyValue("value", text); - if(forceUpdateOnChange) + if(_forceUpdateOnChange) { var extruderIndex = ExtruderManager.activeExtruderIndex; manager.forceUpdate(); diff --git a/plugins/MachineSettingsAction/__init__.py b/plugins/MachineSettingsAction/__init__.py index 7d8b253d33..1c4464e9b2 100644 --- a/plugins/MachineSettingsAction/__init__.py +++ b/plugins/MachineSettingsAction/__init__.py @@ -7,15 +7,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - return { - "plugin": { - "name": catalog.i18nc("@label", "Machine Settings action"), - "author": "fieldOfView", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides a way to change machine settings (such as build volume, nozzle size, etc)"), - "api": 3 - } - } + return {} def register(app): return { "machine_action": MachineSettingsAction.MachineSettingsAction() } diff --git a/plugins/MachineSettingsAction/plugin.json b/plugins/MachineSettingsAction/plugin.json new file mode 100644 index 0000000000..af63e3a9c8 --- /dev/null +++ b/plugins/MachineSettingsAction/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Machine Settings action", + "author": "fieldOfView", + "version": "1.0.0", + "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc)", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py index b283608cb0..65159888b0 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py @@ -63,17 +63,20 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand stack_nr = -1 stack = None # Check from what stack we should copy the raw property of the setting from. - if definition.limit_to_extruder != "-1" and self._stack.getProperty("machine_extruder_count", "value") > 1: - # A limit to extruder function was set and it's a multi extrusion machine. Check what stack we do need to use. - stack_nr = str(int(round(float(self._stack.getProperty(item, "limit_to_extruder"))))) + if self._stack.getProperty("machine_extruder_count", "value") > 1: + if definition.limit_to_extruder != "-1": + # A limit to extruder function was set and it's a multi extrusion machine. Check what stack we do need to use. + stack_nr = str(int(round(float(self._stack.getProperty(item, "limit_to_extruder"))))) - # Check if the found stack_number is in the extruder list of extruders. - if stack_nr not in ExtruderManager.getInstance().extruderIds and self._stack.getProperty("extruder_nr", "value") is not None: - stack_nr = -1 + # Check if the found stack_number is in the extruder list of extruders. + if stack_nr not in ExtruderManager.getInstance().extruderIds and self._stack.getProperty("extruder_nr", "value") is not None: + stack_nr = -1 - # Use the found stack number to get the right stack to copy the value from. - if stack_nr in ExtruderManager.getInstance().extruderIds: - stack = ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0] + # Use the found stack number to get the right stack to copy the value from. + if stack_nr in ExtruderManager.getInstance().extruderIds: + stack = ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0] + else: + stack = self._stack # Use the raw property to set the value (so the inheritance doesn't break) if stack is not None: diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index c3c7249155..878eaddae5 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -94,6 +94,8 @@ Item { return settingComboBox case "extruder": return settingExtruder + case "optional_extruder": + return settingOptionalExtruder case "bool": return settingCheckBox case "str": @@ -141,14 +143,6 @@ Item { storeIndex: 0 removeUnusedValue: false } - - // If the extruder by which the object needs to be printed is changed, ensure that the - // display is also notified of the fact. - Connections - { - target: extruderSelector - onActivated: provider.forcePropertiesChanged() - } } } } @@ -350,6 +344,13 @@ Item { Cura.SettingExtruder { } } + Component + { + id: settingOptionalExtruder + + Cura.SettingOptionalExtruder { } + } + Component { id: settingCheckBox; diff --git a/plugins/PerObjectSettingsTool/__init__.py b/plugins/PerObjectSettingsTool/__init__.py index 08b8de1452..eb102fde5d 100644 --- a/plugins/PerObjectSettingsTool/__init__.py +++ b/plugins/PerObjectSettingsTool/__init__.py @@ -10,13 +10,6 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": i18n_catalog.i18nc("@label", "Per Model Settings Tool"), - "author": "Ultimaker", - "version": "1.0", - "description": i18n_catalog.i18nc("@info:whatsthis", "Provides the Per Model Settings."), - "api": 3 - }, "tool": { "name": i18n_catalog.i18nc("@label", "Per Model Settings"), "description": i18n_catalog.i18nc("@info:tooltip", "Configure Per Model Settings"), diff --git a/plugins/PerObjectSettingsTool/plugin.json b/plugins/PerObjectSettingsTool/plugin.json new file mode 100644 index 0000000000..3254662d33 --- /dev/null +++ b/plugins/PerObjectSettingsTool/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Per Model Settings Tool", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides the Per Model Settings.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py new file mode 100644 index 0000000000..76d4b4d284 --- /dev/null +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -0,0 +1,249 @@ +# Copyright (c) 2017 Ultimaker B.V. +# PluginBrowser is released under the terms of the AGPLv3 or higher. +from UM.Extension import Extension +from UM.i18n import i18nCatalog +from UM.Logger import Logger +from UM.Qt.ListModel import ListModel +from UM.PluginRegistry import PluginRegistry +from UM.Application import Application +from UM.Version import Version + +from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply +from PyQt5.QtCore import QUrl, QObject, Qt, pyqtProperty, pyqtSignal, pyqtSlot +from PyQt5.QtQml import QQmlComponent, QQmlContext + +import json +import os +import tempfile + +i18n_catalog = i18nCatalog("cura") + + +class PluginBrowser(QObject, Extension): + def __init__(self, parent = None): + super().__init__(parent) + self.addMenuItem(i18n_catalog.i18n("Browse plugins"), self.browsePlugins) + self._api_version = 1 + self._api_url = "http://software.ultimaker.com/cura/v%s/" % self._api_version + + self._plugin_list_request = None + self._download_plugin_request = None + + self._download_plugin_reply = None + + self._network_manager = None + + self._plugins_metadata = [] + self._plugins_model = None + + self._qml_component = None + self._qml_context = None + self._dialog = None + self._download_progress = 0 + + self._is_downloading = False + + self._request_header = [b"User-Agent", str.encode("%s - %s" % (Application.getInstance().getApplicationName(), Application.getInstance().getVersion()))] + + # Installed plugins are really installed after reboot. In order to prevent the user from downloading the + # same file over and over again, we keep track of the upgraded plugins. + self._newly_installed_plugin_ids = [] + + + pluginsMetadataChanged = pyqtSignal() + onDownloadProgressChanged = pyqtSignal() + onIsDownloadingChanged = pyqtSignal() + + @pyqtProperty(bool, notify = onIsDownloadingChanged) + def isDownloading(self): + return self._is_downloading + + def browsePlugins(self): + self._createNetworkManager() + self.requestPluginList() + + if not self._dialog: + self._createDialog() + self._dialog.show() + + @pyqtSlot() + def requestPluginList(self): + Logger.log("i", "Requesting plugin list") + url = QUrl(self._api_url + "plugins") + self._plugin_list_request = QNetworkRequest(url) + self._plugin_list_request.setRawHeader(*self._request_header) + self._network_manager.get(self._plugin_list_request) + + def _createDialog(self): + Logger.log("d", "PluginBrowser") + + path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), "PluginBrowser.qml")) + self._qml_component = QQmlComponent(Application.getInstance()._engine, path) + + # We need access to engine (although technically we can't) + self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext()) + self._qml_context.setContextProperty("manager", self) + self._dialog = self._qml_component.create(self._qml_context) + if self._dialog is None: + Logger.log("e", "QQmlComponent status %s", self._qml_component.status()) + Logger.log("e", "QQmlComponent errorString %s", self._qml_component.errorString()) + + def setIsDownloading(self, is_downloading): + if self._is_downloading != is_downloading: + self._is_downloading = is_downloading + self.onIsDownloadingChanged.emit() + + def _onDownloadPluginProgress(self, bytes_sent, bytes_total): + if bytes_total > 0: + new_progress = bytes_sent / bytes_total * 100 + self.setDownloadProgress(new_progress) + if new_progress == 100.0: + self.setIsDownloading(False) + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + + # must not delete the temporary file on Windows + self._temp_plugin_file = tempfile.NamedTemporaryFile(mode = "w+b", suffix = ".curaplugin", delete = False) + location = self._temp_plugin_file.name + + # write first and close, otherwise on Windows, it cannot read the file + self._temp_plugin_file.write(self._download_plugin_reply.readAll()) + self._temp_plugin_file.close() + + # open as read + if not location.startswith("/"): + location = "/" + location # Ensure that it starts with a /, as otherwise it doesn't work on windows. + result = PluginRegistry.getInstance().installPlugin("file://" + location) + + self._newly_installed_plugin_ids.append(result["id"]) + self.pluginsMetadataChanged.emit() + + Application.getInstance().messageBox(i18n_catalog.i18nc("@window:title", "Plugin browser"), result["message"]) + + self._temp_plugin_file.close() # Plugin was installed, delete temp file + + @pyqtProperty(int, notify = onDownloadProgressChanged) + def downloadProgress(self): + return self._download_progress + + def setDownloadProgress(self, progress): + if progress != self._download_progress: + self._download_progress = progress + self.onDownloadProgressChanged.emit() + + @pyqtSlot(str) + def downloadAndInstallPlugin(self, url): + Logger.log("i", "Attempting to download & install plugin from %s", url) + url = QUrl(url) + self._download_plugin_request = QNetworkRequest(url) + self._download_plugin_request.setRawHeader(*self._request_header) + self._download_plugin_reply = self._network_manager.get(self._download_plugin_request) + self.setDownloadProgress(0) + self.setIsDownloading(True) + self._download_plugin_reply.downloadProgress.connect(self._onDownloadPluginProgress) + + @pyqtSlot() + def cancelDownload(self): + Logger.log("i", "user cancelled the download of a plugin") + self._download_plugin_reply.abort() + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply = None + self._download_plugin_request = None + + self.setDownloadProgress(0) + self.setIsDownloading(False) + + @pyqtProperty(QObject, notify=pluginsMetadataChanged) + def pluginsModel(self): + if self._plugins_model is None: + self._plugins_model = ListModel() + self._plugins_model.addRoleName(Qt.UserRole + 1, "name") + self._plugins_model.addRoleName(Qt.UserRole + 2, "version") + self._plugins_model.addRoleName(Qt.UserRole + 3, "short_description") + self._plugins_model.addRoleName(Qt.UserRole + 4, "author") + self._plugins_model.addRoleName(Qt.UserRole + 5, "already_installed") + self._plugins_model.addRoleName(Qt.UserRole + 6, "file_location") + self._plugins_model.addRoleName(Qt.UserRole + 7, "can_upgrade") + else: + self._plugins_model.clear() + items = [] + for metadata in self._plugins_metadata: + items.append({ + "name": metadata["label"], + "version": metadata["version"], + "short_description": metadata["short_description"], + "author": metadata["author"], + "already_installed": self._checkAlreadyInstalled(metadata["id"]), + "file_location": metadata["file_location"], + "can_upgrade": self._checkCanUpgrade(metadata["id"], metadata["version"]) + }) + self._plugins_model.setItems(items) + return self._plugins_model + + def _checkCanUpgrade(self, id, version): + plugin_registry = PluginRegistry.getInstance() + metadata = plugin_registry.getMetaData(id) + if metadata != {}: + if id in self._newly_installed_plugin_ids: + return False # We already updated this plugin. + current_version = Version(metadata["plugin"]["version"]) + new_version = Version(version) + if new_version > current_version: + return True + return False + + def _checkAlreadyInstalled(self, id): + plugin_registry = PluginRegistry.getInstance() + metadata = plugin_registry.getMetaData(id) + if metadata != {}: + return True + else: + if id in self._newly_installed_plugin_ids: + return True # We already installed this plugin, but the registry just doesn't know it yet. + return False + + def _onRequestFinished(self, reply): + reply_url = reply.url().toString() + if reply.error() == QNetworkReply.TimeoutError: + Logger.log("w", "Got a timeout.") + # Reset everything. + self.setDownloadProgress(0) + self.setIsDownloading(False) + if self._download_plugin_reply: + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply.abort() + self._download_plugin_reply = None + return + elif reply.error() == QNetworkReply.HostNotFoundError: + Logger.log("w", "Unable to reach server.") + return + + if reply.operation() == QNetworkAccessManager.GetOperation: + if reply_url == self._api_url + "plugins": + try: + json_data = json.loads(bytes(reply.readAll()).decode("utf-8")) + self._plugins_metadata = json_data + self.pluginsMetadataChanged.emit() + except json.decoder.JSONDecodeError: + Logger.log("w", "Received an invalid print job state message: Not valid JSON.") + return + else: + # Ignore any operation that is not a get operation + pass + + def _onNetworkAccesibleChanged(self, accessible): + if accessible == 0: + self.setDownloadProgress(0) + self.setIsDownloading(False) + if self._download_plugin_reply: + self._download_plugin_reply.downloadProgress.disconnect(self._onDownloadPluginProgress) + self._download_plugin_reply.abort() + self._download_plugin_reply = None + + def _createNetworkManager(self): + if self._network_manager: + self._network_manager.finished.disconnect(self._onRequestFinished) + self._network_manager.networkAccessibleChanged.disconnect(self._onNetworkAccesibleChanged) + + self._network_manager = QNetworkAccessManager() + self._network_manager.finished.connect(self._onRequestFinished) + self._network_manager.networkAccessibleChanged.connect(self._onNetworkAccesibleChanged) \ No newline at end of file diff --git a/plugins/PluginBrowser/PluginBrowser.qml b/plugins/PluginBrowser/PluginBrowser.qml new file mode 100644 index 0000000000..7d7ade5d95 --- /dev/null +++ b/plugins/PluginBrowser/PluginBrowser.qml @@ -0,0 +1,182 @@ +import UM 1.1 as UM +import QtQuick 2.2 +import QtQuick.Dialogs 1.1 +import QtQuick.Window 2.2 +import QtQuick.Controls 1.1 + +UM.Dialog +{ + id: base + + title: catalog.i18nc("@title:window", "Find & Update plugins") + width: 600 + height: 450 + Item + { + anchors.fill: parent + Item + { + id: topBar + height: childrenRect.height; + width: parent.width + Label + { + id: introText + text: catalog.i18nc("@label", "Here you can find a list of Third Party plugins.") + width: parent.width + height: 30 + } + + Button + { + id: refresh + text: catalog.i18nc("@action:button", "Refresh") + onClicked: manager.requestPluginList() + anchors.right: parent.right + enabled: !manager.isDownloading + } + } + ScrollView + { + width: parent.width + anchors.top: topBar.bottom + anchors.bottom: bottomBar.top + anchors.bottomMargin: UM.Theme.getSize("default_margin").height + frameVisible: true + ListView + { + id: pluginList + model: manager.pluginsModel + anchors.fill: parent + + property var activePlugin + delegate: pluginDelegate + } + } + Item + { + id: bottomBar + width: parent.width + height: closeButton.height + anchors.bottom:parent.bottom + anchors.left: parent.left + ProgressBar + { + id: progressbar + anchors.bottom: parent.bottom + minimumValue: 0; + maximumValue: 100 + anchors.left:parent.left + anchors.right: closeButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + value: manager.isDownloading ? manager.downloadProgress : 0 + } + + Button + { + id: closeButton + text: catalog.i18nc("@action:button", "Close") + iconName: "dialog-close" + onClicked: + { + if (manager.isDownloading) + { + manager.cancelDownload() + } + base.close(); + } + anchors.bottom: parent.bottom + anchors.right: parent.right + } + } + + Item + { + SystemPalette { id: palette } + Component + { + id: pluginDelegate + Rectangle + { + width: pluginList.width; + height: texts.height; + color: index % 2 ? palette.base : palette.alternateBase + Column + { + id: texts + width: parent.width + height: childrenRect.height + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: downloadButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + Label + { + text: "" + model.name + " - " + model.author + width: contentWidth + height: contentHeight + UM.Theme.getSize("default_margin").height + verticalAlignment: Text.AlignVCenter + } + + Label + { + text: model.short_description + width: parent.width + height: contentHeight + UM.Theme.getSize("default_margin").height + wrapMode: Text.WordWrap + verticalAlignment: Text.AlignVCenter + } + } + Button + { + id: downloadButton + text: + { + if (manager.isDownloading && pluginList.activePlugin == model) + { + return catalog.i18nc("@action:button", "Cancel"); + } + else if (model.already_installed) + { + if (model.can_upgrade) + { + return catalog.i18nc("@action:button", "Upgrade"); + } + return catalog.i18nc("@action:button", "Installed"); + } + return catalog.i18nc("@action:button", "Download"); + } + onClicked: + { + if(!manager.isDownloading) + { + pluginList.activePlugin = model; + manager.downloadAndInstallPlugin(model.file_location); + } + else + { + manager.cancelDownload(); + } + } + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter + enabled: + { + if (manager.isDownloading) + { + return (pluginList.activePlugin == model); + } + else + { + return (!model.already_installed || model.can_upgrade); + } + } + } + } + + } + } + UM.I18nCatalog { id: catalog; name:"cura" } + } +} \ No newline at end of file diff --git a/plugins/PluginBrowser/__init__.py b/plugins/PluginBrowser/__init__.py new file mode 100644 index 0000000000..19013bd06d --- /dev/null +++ b/plugins/PluginBrowser/__init__.py @@ -0,0 +1,12 @@ +# Copyright (c) 2017 Ultimaker B.V. +# PluginBrowser is released under the terms of the AGPLv3 or higher. + +from . import PluginBrowser + + +def getMetaData(): + return {} + + +def register(app): + return {"extension": PluginBrowser.PluginBrowser()} diff --git a/plugins/PluginBrowser/plugin.json b/plugins/PluginBrowser/plugin.json new file mode 100644 index 0000000000..491e21f506 --- /dev/null +++ b/plugins/PluginBrowser/plugin.json @@ -0,0 +1,7 @@ +{ + "name": "Plugin Browser", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "api": 4, + "description": "Find, manage and install new plugins." +} \ No newline at end of file diff --git a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py index 42f3935f65..1c15990bf1 100644 --- a/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py +++ b/plugins/RemovableDriveOutputDevice/WindowsRemovableDrivePlugin.py @@ -1,19 +1,18 @@ # Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2013 David Braam # Uranium is released under the terms of the AGPLv3 or higher. - -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - from . import RemovableDrivePlugin import string -import ctypes # type: ignore -from ctypes import wintypes # Using ctypes.wintypes in the code below does not seem to work +import ctypes +from ctypes import wintypes # Using ctypes.wintypes in the code below does not seem to work from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") +# Ignore windows error popups. Fixes the whole "Can't open drive X" when user has an SD card reader. +ctypes.windll.kernel32.SetErrorMode(1) + # WinAPI Constants that we need # Hardcoded here due to stupid WinDLL stuff that does not give us access to these values. DRIVE_REMOVABLE = 2 # [CodeStyle: Windows Enum value] diff --git a/plugins/RemovableDriveOutputDevice/__init__.py b/plugins/RemovableDriveOutputDevice/__init__.py index b00214d425..8b46074066 100644 --- a/plugins/RemovableDriveOutputDevice/__init__.py +++ b/plugins/RemovableDriveOutputDevice/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Removable Drive Output Device Plugin"), - "author": "Ultimaker B.V.", - "description": catalog.i18nc("@info:whatsthis", "Provides removable drive hotplugging and writing support."), - "version": "1.0", - "api": 3 - } } def register(app): diff --git a/plugins/RemovableDriveOutputDevice/plugin.json b/plugins/RemovableDriveOutputDevice/plugin.json new file mode 100644 index 0000000000..df11644256 --- /dev/null +++ b/plugins/RemovableDriveOutputDevice/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Removable Drive Output Device Plugin", + "author": "Ultimaker B.V.", + "description": "Provides removable drive hotplugging and writing support.", + "version": "1.0.0", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 50ca1dbd06..83f17dcb27 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -1,69 +1,37 @@ # Copyright (c) 2015 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. -from typing import Any from cura.CuraApplication import CuraApplication +from cura.Settings.ExtruderManager import ExtruderManager from UM.Extension import Extension from UM.Application import Application from UM.Preferences import Preferences from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator -from UM.Scene.SceneNode import SceneNode from UM.Message import Message from UM.i18n import i18nCatalog from UM.Logger import Logger -from UM.Platform import Platform + +import time + from UM.Qt.Duration import DurationFormat -from UM.Job import Job + +from .SliceInfoJob import SliceInfoJob import platform import math import urllib.request import urllib.parse -import ssl -import hashlib import json catalog = i18nCatalog("cura") -class SliceInfoJob(Job): - data = None # type: Any - url = None # type: str - - def __init__(self, url, data): - super().__init__() - self.url = url - self.data = data - - def run(self): - if not self.url or not self.data: - Logger.log("e", "URL or DATA for sending slice info was not set!") - return - - # Submit data - kwoptions = {"data" : self.data, - "timeout" : 5 - } - - if Platform.isOSX(): - kwoptions["context"] = ssl._create_unverified_context() - - Logger.log("d", "Sending anonymous slice info to [%s]...", self.url) - - try: - f = urllib.request.urlopen(self.url, **kwoptions) - Logger.log("i", "Sent anonymous slice info.") - f.close() - except urllib.error.HTTPError as http_exception: - Logger.log("e", "An HTTP error occurred while trying to send slice information: %s" % http_exception) - except Exception as e: # We don't want any exception to cause problems - Logger.log("e", "An exception occurred while trying to send slice information: %s" % e) ## This Extension runs in the background and sends several bits of information to the Ultimaker servers. # The data is only sent when the user in question gave permission to do so. All data is anonymous and # no model files are being sent (Just a SHA256 hash of the model). class SliceInfo(Extension): - info_url = "https://stats.youmagine.com/curastats/slice" + info_url = "http://stats.ultimaker.com/api/cura" def __init__(self): super().__init__() @@ -85,61 +53,139 @@ class SliceInfo(Extension): try: if not Preferences.getInstance().getValue("info/send_slice_info"): Logger.log("d", "'info/send_slice_info' is turned off.") - return # Do nothing, user does not want to send data - - # Listing all files placed on the buildplate - modelhashes = [] - for node in DepthFirstIterator(CuraApplication.getInstance().getController().getScene().getRoot()): - if node.callDecoration("isSliceable"): - modelhashes.append(node.getMeshData().getHash()) - - # Creating md5sums and formatting them as discussed on JIRA - modelhash_formatted = ",".join(modelhashes) + return # Do nothing, user does not want to send data global_container_stack = Application.getInstance().getGlobalContainerStack() - - # Get total material used (in mm^3) print_information = Application.getInstance().getPrintInformation() - material_radius = 0.5 * global_container_stack.getProperty("material_diameter", "value") - # Send material per extruder - material_used = [str(math.pi * material_radius * material_radius * material_length) for material_length in print_information.materialLengths] - material_used = ",".join(material_used) + data = dict() # The data that we're going to submit. + data["time_stamp"] = time.time() + data["schema_version"] = 0 + data["cura_version"] = Application.getInstance().getVersion() - containers = { "": global_container_stack.serialize() } - for container in global_container_stack.getContainers(): - container_id = container.getId() - try: - container_serialized = container.serialize() - except NotImplementedError: - Logger.log("w", "Container %s could not be serialized!", container_id) - continue - if container_serialized: - containers[container_id] = container_serialized - else: - Logger.log("i", "No data found in %s to be serialized!", container_id) + active_mode = Preferences.getInstance().getValue("cura/active_mode") + if active_mode == 0: + data["active_mode"] = "recommended" + else: + data["active_mode"] = "custom" - # Bundle the collected data - submitted_data = { - "processor": platform.processor(), - "machine": platform.machine(), - "platform": platform.platform(), - "settings": json.dumps(containers), # bundle of containers with their serialized contents - "version": Application.getInstance().getVersion(), - "modelhash": modelhash_formatted, - "printtime": print_information.currentPrintTime.getDisplayString(DurationFormat.Format.ISO8601), - "filament": material_used, - "language": Preferences.getInstance().getValue("general/language"), - } + data["machine_settings_changed_by_user"] = global_container_stack.definitionChanges.getId() != "empty" + data["language"] = Preferences.getInstance().getValue("general/language") + data["os"] = {"type": platform.system(), "version": platform.version()} + + data["active_machine"] = {"definition_id": global_container_stack.definition.getId(), "manufacturer": global_container_stack.definition.getMetaData().get("manufacturer","")} + + data["extruders"] = [] + extruders = list(ExtruderManager.getInstance().getMachineExtruders(global_container_stack.getId())) + extruders = sorted(extruders, key = lambda extruder: extruder.getMetaDataEntry("position")) + + if not extruders: + extruders = [global_container_stack] + + for extruder in extruders: + extruder_dict = dict() + extruder_dict["active"] = ExtruderManager.getInstance().getActiveExtruderStack() == extruder + extruder_dict["material"] = {"GUID": extruder.material.getMetaData().get("GUID", ""), + "type": extruder.material.getMetaData().get("material", ""), + "brand": extruder.material.getMetaData().get("brand", "") + } + extruder_dict["material_used"] = print_information.materialLengths[int(extruder.getMetaDataEntry("position", "0"))] + extruder_dict["variant"] = extruder.variant.getName() + extruder_dict["nozzle_size"] = extruder.getProperty("machine_nozzle_size", "value") + + extruder_settings = dict() + extruder_settings["wall_line_count"] = extruder.getProperty("wall_line_count", "value") + extruder_settings["retraction_enable"] = extruder.getProperty("retraction_enable", "value") + extruder_settings["infill_sparse_density"] = extruder.getProperty("infill_sparse_density", "value") + extruder_settings["infill_pattern"] = extruder.getProperty("infill_pattern", "value") + extruder_settings["gradual_infill_steps"] = extruder.getProperty("gradual_infill_steps", "value") + extruder_settings["default_material_print_temperature"] = extruder.getProperty("default_material_print_temperature", "value") + extruder_settings["material_print_temperature"] = extruder.getProperty("material_print_temperature", "value") + extruder_dict["extruder_settings"] = extruder_settings + data["extruders"].append(extruder_dict) + + data["quality_profile"] = global_container_stack.quality.getMetaData().get("quality_type") + + data["models"] = [] + # Listing all files placed on the build plate + for node in DepthFirstIterator(CuraApplication.getInstance().getController().getScene().getRoot()): + if node.callDecoration("isSliceable"): + model = dict() + model["hash"] = node.getMeshData().getHash() + bounding_box = node.getBoundingBox() + model["bounding_box"] = {"minimum": {"x": bounding_box.minimum.x, + "y": bounding_box.minimum.y, + "z": bounding_box.minimum.z}, + "maximum": {"x": bounding_box.maximum.x, + "y": bounding_box.maximum.y, + "z": bounding_box.maximum.z}} + model["transformation"] = {"data": str(node.getWorldTransformation().getData()).replace("\n", "")} + extruder_position = node.callDecoration("getActiveExtruderPosition") + model["extruder"] = 0 if extruder_position is None else int(extruder_position) + + model_settings = dict() + model_stack = node.callDecoration("getStack") + if model_stack: + model_settings["support_enabled"] = model_stack.getProperty("support_enable", "value") + model_settings["support_extruder_nr"] = int(model_stack.getProperty("support_extruder_nr", "value")) + + # Mesh modifiers; + model_settings["infill_mesh"] = model_stack.getProperty("infill_mesh", "value") + model_settings["cutting_mesh"] = model_stack.getProperty("cutting_mesh", "value") + model_settings["support_mesh"] = model_stack.getProperty("support_mesh", "value") + model_settings["anti_overhang_mesh"] = model_stack.getProperty("anti_overhang_mesh", "value") + + model_settings["wall_line_count"] = model_stack.getProperty("wall_line_count", "value") + model_settings["retraction_enable"] = model_stack.getProperty("retraction_enable", "value") + + # Infill settings + model_settings["infill_sparse_density"] = model_stack.getProperty("infill_sparse_density", "value") + model_settings["infill_pattern"] = model_stack.getProperty("infill_pattern", "value") + model_settings["gradual_infill_steps"] = model_stack.getProperty("gradual_infill_steps", "value") + + model["model_settings"] = model_settings + + data["models"].append(model) + + print_times = print_information.printTimesPerFeature + data["print_times"] = {"travel": int(print_times["travel"].getDisplayString(DurationFormat.Format.Seconds)), + "support": int(print_times["support"].getDisplayString(DurationFormat.Format.Seconds)), + "infill": int(print_times["infill"].getDisplayString(DurationFormat.Format.Seconds)), + "total": int(print_information.currentPrintTime.getDisplayString(DurationFormat.Format.Seconds))} + + print_settings = dict() + print_settings["layer_height"] = global_container_stack.getProperty("layer_height", "value") + + # Support settings + print_settings["support_enabled"] = global_container_stack.getProperty("support_enable", "value") + print_settings["support_extruder_nr"] = int(global_container_stack.getProperty("support_extruder_nr", "value")) + + # Platform adhesion settings + print_settings["adhesion_type"] = global_container_stack.getProperty("adhesion_type", "value") + + # Shell settings + print_settings["wall_line_count"] = global_container_stack.getProperty("wall_line_count", "value") + print_settings["retraction_enable"] = global_container_stack.getProperty("retraction_enable", "value") + + # Prime tower settings + print_settings["prime_tower_enable"] = global_container_stack.getProperty("prime_tower_enable", "value") + + # Infill settings + print_settings["infill_sparse_density"] = global_container_stack.getProperty("infill_sparse_density", "value") + print_settings["infill_pattern"] = global_container_stack.getProperty("infill_pattern", "value") + print_settings["gradual_infill_steps"] = global_container_stack.getProperty("gradual_infill_steps", "value") + + print_settings["print_sequence"] = global_container_stack.getProperty("print_sequence", "value") + + data["print_settings"] = print_settings # Convert data to bytes - submitted_data = urllib.parse.urlencode(submitted_data) - binary_data = submitted_data.encode("utf-8") + binary_data = json.dumps(data).encode("utf-8") # Sending slice info non-blocking reportJob = SliceInfoJob(self.info_url, binary_data) reportJob.start() - except Exception as e: + except Exception: # We really can't afford to have a mistake here, as this would break the sending of g-code to a device # (Either saving or directly to a printer). The functionality of the slice data is not *that* important. - Logger.log("e", "Exception raised while sending slice info: %s" %(repr(e))) # But we should be notified about these problems of course. + Logger.logException("e", "Exception raised while sending slice info.") # But we should be notified about these problems of course. diff --git a/plugins/SliceInfoPlugin/SliceInfoJob.py b/plugins/SliceInfoPlugin/SliceInfoJob.py new file mode 100644 index 0000000000..0ef390d058 --- /dev/null +++ b/plugins/SliceInfoPlugin/SliceInfoJob.py @@ -0,0 +1,38 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. +from UM.Job import Job +from UM.Logger import Logger +from UM.Platform import Platform + +import ssl +import urllib.request +import urllib.error + + +class SliceInfoJob(Job): + def __init__(self, url, data): + super().__init__() + self._url = url + self._data = data + + def run(self): + if not self._url or not self._data: + Logger.log("e", "URL or DATA for sending slice info was not set!") + return + + # Submit data + kwoptions = {"data" : self._data, "timeout" : 5} + + if Platform.isOSX(): + kwoptions["context"] = ssl._create_unverified_context() + + Logger.log("i", "Sending anonymous slice info to [%s]...", self._url) + + try: + f = urllib.request.urlopen(self._url, **kwoptions) + Logger.log("i", "Sent anonymous slice info.") + f.close() + except urllib.error.HTTPError: + Logger.logException("e", "An HTTP error occurred while trying to send slice information") + except Exception: # We don't want any exception to cause problems + Logger.logException("e", "An exception occurred while trying to send slice information") \ No newline at end of file diff --git a/plugins/SliceInfoPlugin/__init__.py b/plugins/SliceInfoPlugin/__init__.py index f6e77fbf22..90ecfcef17 100644 --- a/plugins/SliceInfoPlugin/__init__.py +++ b/plugins/SliceInfoPlugin/__init__.py @@ -6,13 +6,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Slice info"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Submits anonymous slice info. Can be disabled through preferences."), - "api": 3 - } } def register(app): diff --git a/plugins/SliceInfoPlugin/plugin.json b/plugins/SliceInfoPlugin/plugin.json new file mode 100644 index 0000000000..d1c643266b --- /dev/null +++ b/plugins/SliceInfoPlugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Slice info", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Submits anonymous slice info. Can be disabled through preferences.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index 60c01670b1..04a0afd77b 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -7,7 +7,7 @@ from UM.Scene.Selection import Selection from UM.Resources import Resources from UM.Application import Application from UM.Preferences import Preferences -from UM.View.Renderer import Renderer +from UM.View.RenderBatch import RenderBatch from UM.Settings.Validator import ValidatorState from UM.Math.Color import Color from UM.View.GL.OpenGL import OpenGL @@ -118,7 +118,7 @@ class SolidView(View): else: renderer.queueNode(node, material = self._enabled_shader, uniforms = uniforms) if node.callDecoration("isGroup") and Selection.isSelected(node): - renderer.queueNode(scene.getRoot(), mesh = node.getBoundingBoxMesh(), mode = Renderer.RenderLines) + renderer.queueNode(scene.getRoot(), mesh = node.getBoundingBoxMesh(), mode = RenderBatch.RenderMode.LineLoop) def endRendering(self): pass diff --git a/plugins/SolidView/__init__.py b/plugins/SolidView/__init__.py index 945ccba8f6..67b15eb617 100644 --- a/plugins/SolidView/__init__.py +++ b/plugins/SolidView/__init__.py @@ -8,13 +8,6 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": i18n_catalog.i18nc("@label", "Solid View"), - "author": "Ultimaker", - "version": "1.0", - "description": i18n_catalog.i18nc("@info:whatsthis", "Provides a normal solid mesh view."), - "api": 3 - }, "view": { "name": i18n_catalog.i18nc("@item:inmenu", "Solid"), "weight": 0 diff --git a/plugins/SolidView/plugin.json b/plugins/SolidView/plugin.json new file mode 100644 index 0000000000..6d6bda96f0 --- /dev/null +++ b/plugins/SolidView/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Solid View", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides a normal solid mesh view.", + "api": 4, + "i18n-catalog": "cura" +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml b/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml index 27271f0d15..f9af47fc7a 100644 --- a/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml +++ b/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml @@ -12,7 +12,6 @@ Cura.MachineAction anchors.fill: parent; property var selectedPrinter: null property bool completeProperties: true - property var connectingToPrinter: null Connections { @@ -33,9 +32,8 @@ Cura.MachineAction if(base.selectedPrinter && base.completeProperties) { var printerKey = base.selectedPrinter.getKey() - if(connectingToPrinter != printerKey) { - // prevent an infinite loop - connectingToPrinter = printerKey; + if(manager.getStoredKey() != printerKey) + { manager.setKey(printerKey); completed(); } diff --git a/plugins/UM3NetworkPrinting/MonitorItem.qml b/plugins/UM3NetworkPrinting/MonitorItem.qml new file mode 100644 index 0000000000..d3803ea877 --- /dev/null +++ b/plugins/UM3NetworkPrinting/MonitorItem.qml @@ -0,0 +1,34 @@ +import QtQuick 2.2 + + +import UM 1.3 as UM +import Cura 1.0 as Cura + +Component +{ + Image + { + id: cameraImage + width: sourceSize.width + height: sourceSize.height * width / sourceSize.width + anchors.horizontalCenter: parent.horizontalCenter + onVisibleChanged: + { + if(visible) + { + OutputDevice.startCamera() + } else + { + OutputDevice.stopCamera() + } + } + source: + { + if(OutputDevice.cameraImage) + { + return OutputDevice.cameraImage; + } + return ""; + } + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 459de3248d..b309691e81 100755 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -178,6 +178,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._last_command = "" self._compressing_print = False + self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "MonitorItem.qml") printer_type = self._properties.get(b"machine", b"").decode("utf-8") if printer_type.startswith("9511"): @@ -187,9 +188,18 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: self._updatePrinterType("unknown") + Application.getInstance().getOutputDeviceManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) + def _onNetworkAccesibleChanged(self, accessible): Logger.log("d", "Network accessible state changed to: %s", accessible) + ## Triggered when the output device manager changes devices. + # + # This is how we can detect that our device is no longer active now. + def _onOutputDevicesChanged(self): + if self.getId() not in Application.getInstance().getOutputDeviceManager().getOutputDeviceIds(): + self.stopCamera() + def _onAuthenticationTimer(self): self._authentication_counter += 1 self._authentication_requested_message.setProgress(self._authentication_counter / self._max_authentication_counter * 100) @@ -306,8 +316,11 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def _stopCamera(self): self._camera_timer.stop() if self._image_reply: - self._image_reply.abort() - self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + try: + self._image_reply.abort() + self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + except RuntimeError: + pass # It can happen that the wrapped c++ object is already deleted. self._image_reply = None self._image_request = None @@ -612,7 +625,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # is ignored. # \param kwargs Keyword arguments. def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): - if self._printer_state != "idle": + if self._printer_state not in ["idle", ""]: self._error_message = Message( i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state) self._error_message.show() @@ -638,7 +651,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] == "": Logger.log("e", "No cartridge loaded in slot %s, unable to start print", index + 1) self._error_message = Message( - i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No PrinterCore loaded in slot {0}".format(index + 1))) + i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No Printcore loaded in slot {0}".format(index + 1))) self._error_message.show() return if self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] == "": diff --git a/plugins/UM3NetworkPrinting/__init__.py b/plugins/UM3NetworkPrinting/__init__.py index be9f1195ec..667733649b 100644 --- a/plugins/UM3NetworkPrinting/__init__.py +++ b/plugins/UM3NetworkPrinting/__init__.py @@ -6,15 +6,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): - return { - "plugin": { - "name": "UM3 Network Connection", - "author": "Ultimaker", - "description": catalog.i18nc("@info:whatsthis", "Manages network connections to Ultimaker 3 printers"), - "version": "1.0", - "api": 3 - } - } + return {} def register(app): return { "output_device": NetworkPrinterOutputDevicePlugin.NetworkPrinterOutputDevicePlugin(), "machine_action": DiscoverUM3Action.DiscoverUM3Action()} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/plugin.json b/plugins/UM3NetworkPrinting/plugin.json new file mode 100644 index 0000000000..5a845a0516 --- /dev/null +++ b/plugins/UM3NetworkPrinting/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "UM3 Network Connection", + "author": "Ultimaker B.V.", + "description": "Manages network connections to Ultimaker 3 printers", + "version": "1.0.0", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index 5b1d0b8dac..7a62a59a45 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -259,7 +259,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin, Extension): i = 0 while True: values = winreg.EnumValue(key, i) - if not only_list_usb or "USBSER" in values[0]: + if not only_list_usb or "USBSER" or "VCP" in values[0]: base_list += [values[1]] i += 1 except Exception as e: diff --git a/plugins/USBPrinting/__init__.py b/plugins/USBPrinting/__init__.py index b8581586d8..990a59fdf3 100644 --- a/plugins/USBPrinting/__init__.py +++ b/plugins/USBPrinting/__init__.py @@ -8,14 +8,6 @@ i18n_catalog = i18nCatalog("cura") def getMetaData(): return { - "type": "extension", - "plugin": { - "name": i18n_catalog.i18nc("@label", "USB printing"), - "author": "Ultimaker", - "version": "1.0", - "api": 3, - "description": i18n_catalog.i18nc("@info:whatsthis","Accepts G-Code and sends them to a printer. Plugin can also update firmware.") - } } def register(app): diff --git a/plugins/USBPrinting/plugin.json b/plugins/USBPrinting/plugin.json new file mode 100644 index 0000000000..27e07c45b2 --- /dev/null +++ b/plugins/USBPrinting/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "USB printing", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "api": 4, + "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", + "i18n-catalog": "cura" +} diff --git a/plugins/UltimakerMachineActions/UM2UpgradeSelection.py b/plugins/UltimakerMachineActions/UM2UpgradeSelection.py new file mode 100644 index 0000000000..6c972efbf0 --- /dev/null +++ b/plugins/UltimakerMachineActions/UM2UpgradeSelection.py @@ -0,0 +1,65 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Uranium is released under the terms of the AGPLv3 or higher. + +from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.InstanceContainer import InstanceContainer +from cura.MachineAction import MachineAction +from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty + +from UM.i18n import i18nCatalog +from UM.Application import Application +from UM.Util import parseBool +catalog = i18nCatalog("cura") + +import UM.Settings.InstanceContainer + + +## The Ultimaker 2 can have a few revisions & upgrades. +class UM2UpgradeSelection(MachineAction): + def __init__(self): + super().__init__("UM2UpgradeSelection", catalog.i18nc("@action", "Select upgrades")) + self._qml_url = "UM2UpgradeSelectionMachineAction.qml" + + self._container_registry = ContainerRegistry.getInstance() + + def _reset(self): + self.hasVariantsChanged.emit() + + hasVariantsChanged = pyqtSignal() + + @pyqtProperty(bool, notify = hasVariantsChanged) + def hasVariants(self): + global_container_stack = Application.getInstance().getGlobalContainerStack() + if global_container_stack: + return parseBool(global_container_stack.getMetaDataEntry("has_variants", "false")) + + @pyqtSlot(bool) + def setHasVariants(self, has_variants = True): + global_container_stack = Application.getInstance().getGlobalContainerStack() + if global_container_stack: + variant_container = global_container_stack.variant + variant_index = global_container_stack.getContainerIndex(variant_container) + + if has_variants: + if "has_variants" in global_container_stack.getMetaData(): + global_container_stack.setMetaDataEntry("has_variants", True) + else: + global_container_stack.addMetaDataEntry("has_variants", True) + + # Set the variant container to a sane default + empty_container = ContainerRegistry.getInstance().getEmptyInstanceContainer() + if type(variant_container) == type(empty_container): + search_criteria = { "type": "variant", "definition": "ultimaker2", "id": "*0.4*" } + containers = self._container_registry.findInstanceContainers(**search_criteria) + if containers: + global_container_stack.variant = containers[0] + else: + # The metadata entry is stored in an ini, and ini files are parsed as strings only. + # Because any non-empty string evaluates to a boolean True, we have to remove the entry to make it False. + if "has_variants" in global_container_stack.getMetaData(): + global_container_stack.removeMetaDataEntry("has_variants") + + # Set the variant container to an empty variant + global_container_stack.variant = ContainerRegistry.getInstance().getEmptyInstanceContainer() + + Application.getInstance().globalContainerStackChanged.emit() diff --git a/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml b/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml new file mode 100644 index 0000000000..5e0096c6b0 --- /dev/null +++ b/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml @@ -0,0 +1,52 @@ +// Copyright (c) 2016 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 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 + + +Cura.MachineAction +{ + anchors.fill: parent; + Item + { + id: upgradeSelectionMachineAction + anchors.fill: parent + + Label + { + id: pageTitle + width: parent.width + text: catalog.i18nc("@title", "Select Printer Upgrades") + 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","Please select any upgrades made to this Ultimaker 2."); + } + + CheckBox + { + anchors.top: pageDescription.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + + text: catalog.i18nc("@label", "Olsson Block") + checked: manager.hasVariants + onClicked: manager.setHasVariants(checked) + } + + UM.I18nCatalog { id: catalog; name: "cura"; } + } +} \ No newline at end of file diff --git a/plugins/UltimakerMachineActions/UMOUpgradeSelection.py b/plugins/UltimakerMachineActions/UMOUpgradeSelection.py index 0428c0f5c2..70a9d3fa0e 100644 --- a/plugins/UltimakerMachineActions/UMOUpgradeSelection.py +++ b/plugins/UltimakerMachineActions/UMOUpgradeSelection.py @@ -11,7 +11,7 @@ from UM.Application import Application catalog = i18nCatalog("cura") import UM.Settings.InstanceContainer - +from cura.CuraApplication import CuraApplication ## The Ultimaker Original can have a few revisions & upgrades. This action helps with selecting them, so they are added # as a variant. @@ -49,9 +49,9 @@ class UMOUpgradeSelection(MachineAction): definition = global_container_stack.getBottom() definition_changes_container.setDefinition(definition) definition_changes_container.addMetaDataEntry("type", "definition_changes") + definition_changes_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) UM.Settings.ContainerRegistry.ContainerRegistry.getInstance().addContainer(definition_changes_container) - # Insert definition_changes between the definition and the variant - global_container_stack.insertContainer(-1, definition_changes_container) + global_container_stack.definitionChanges = definition_changes_container return definition_changes_container diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index fb0b2b1f64..33b85387a4 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -5,20 +5,20 @@ from . import BedLevelMachineAction from . import UpgradeFirmwareMachineAction from . import UMOCheckupMachineAction from . import UMOUpgradeSelection +from . import UM2UpgradeSelection from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Ultimaker machine actions"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)"), - "api": 3 - } } def register(app): - return { "machine_action": [BedLevelMachineAction.BedLevelMachineAction(), UpgradeFirmwareMachineAction.UpgradeFirmwareMachineAction(), UMOCheckupMachineAction.UMOCheckupMachineAction(), UMOUpgradeSelection.UMOUpgradeSelection()]} + return { "machine_action": [ + BedLevelMachineAction.BedLevelMachineAction(), + UpgradeFirmwareMachineAction.UpgradeFirmwareMachineAction(), + UMOCheckupMachineAction.UMOCheckupMachineAction(), + UMOUpgradeSelection.UMOUpgradeSelection(), + UM2UpgradeSelection.UM2UpgradeSelection() + ]} diff --git a/plugins/UltimakerMachineActions/plugin.json b/plugins/UltimakerMachineActions/plugin.json new file mode 100644 index 0000000000..c9bb1a89e4 --- /dev/null +++ b/plugins/UltimakerMachineActions/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Ultimaker machine actions", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py index 7a9b102758..055d28b3ab 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/VersionUpgrade21to22.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. import configparser #To get version numbers from config files. @@ -249,7 +249,9 @@ class VersionUpgrade21to22(VersionUpgrade): def getCfgVersion(self, serialised): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) - return int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) + return format_version * 1000000 + setting_version ## Gets the fallback quality to use for a specific machine-variant-material # combination. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py index f2803ca62f..b153bcf3ce 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py @@ -10,18 +10,11 @@ upgrade = VersionUpgrade21to22.VersionUpgrade21to22() def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Version Upgrade 2.1 to 2.2"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Upgrades configurations from Cura 2.1 to Cura 2.2."), - "api": 3 - }, "version_upgrade": { - # From To Upgrade function - ("profile", 1): ("quality", 2, upgrade.upgradeProfile), - ("machine_instance", 1): ("machine_stack", 2, upgrade.upgradeMachineInstance), - ("preferences", 2): ("preferences", 3, upgrade.upgradePreferences) + # From To Upgrade function + ("profile", 1000000): ("quality", 2000000, upgrade.upgradeProfile), + ("machine_instance", 1000000): ("machine_stack", 2000000, upgrade.upgradeMachineInstance), + ("preferences", 2000000): ("preferences", 3000000, upgrade.upgradePreferences) }, "sources": { "profile": { diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json new file mode 100644 index 0000000000..79115f931e --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Version Upgrade 2.1 to 2.2", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py index b28124f16b..9d508e553b 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. import configparser #To get version numbers from config files. @@ -77,6 +77,7 @@ class VersionUpgrade22to24(VersionUpgrade): with open(variant_path, "r") as fhandle: variant_config.read_file(fhandle) + config_name = "Unknown Variant" if variant_config.has_section("general") and variant_config.has_option("general", "name"): config_name = variant_config.get("general", "name") if config_name.endswith("_variant"): @@ -141,7 +142,19 @@ class VersionUpgrade22to24(VersionUpgrade): config.write(output) return [filename], [output.getvalue()] + def upgradeQuality(self, serialised, filename): + config = configparser.ConfigParser(interpolation = None) + config.read_string(serialised) # Read the input string as config file. + config.set("metadata", "type", "quality_changes") # Update metadata/type to quality_changes + config.set("general", "version", "2") # Just bump the version number. That is all we need for now. + + output = io.StringIO() + config.write(output) + return [filename], [output.getvalue()] + def getCfgVersion(self, serialised): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) - return int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) + return format_version * 1000000 + setting_version diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py index e1114922d6..d7ac4ef452 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py @@ -10,20 +10,13 @@ upgrade = VersionUpgrade.VersionUpgrade22to24() def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Version Upgrade 2.2 to 2.4"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Upgrades configurations from Cura 2.2 to Cura 2.4."), - "api": 3 - }, "version_upgrade": { - # From To Upgrade function - ("machine_instance", 2): ("machine_stack", 3, upgrade.upgradeMachineInstance), - ("extruder_train", 2): ("extruder_train", 3, upgrade.upgradeExtruderTrain), - ("preferences", 3): ("preferences", 4, upgrade.upgradePreferences) - - }, + # From To Upgrade function + ("machine_instance", 2000000): ("machine_stack", 3000000, upgrade.upgradeMachineInstance), + ("extruder_train", 2000000): ("extruder_train", 3000000, upgrade.upgradeExtruderTrain), + ("preferences", 3000000): ("preferences", 4000000, upgrade.upgradePreferences), + ("quality", 2000000): ("quality_changes", 2000000, upgrade.upgradeQuality), + }, "sources": { "machine_stack": { "get_version": upgrade.getCfgVersion, diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json new file mode 100644 index 0000000000..d213042ad2 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Version Upgrade 2.2 to 2.4", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py deleted file mode 100644 index 701224787c..0000000000 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2017 Ultimaker B.V. -# Cura is released under the terms of the AGPLv3 or higher. - -from . import VersionUpgrade24to25 - -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - -upgrade = VersionUpgrade24to25.VersionUpgrade24to25() - -def getMetaData(): - return { - "plugin": { - "name": catalog.i18nc("@label", "Version Upgrade 2.4 to 2.5"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Upgrades configurations from Cura 2.4 to Cura 2.5."), - "api": 3 - }, - "version_upgrade": { - # From To Upgrade function - ("preferences", 4): ("preferences", 5, upgrade.upgradePreferences), - ("quality", 2): ("quality", 3, upgrade.upgradeInstanceContainer), - ("variant", 2): ("variant", 3, upgrade.upgradeInstanceContainer), #We can re-use upgradeContainerStack since there is nothing specific to quality, variant or user profiles being changed. - ("user", 2): ("user", 3, upgrade.upgradeInstanceContainer) - }, - "sources": { - "quality": { - "get_version": upgrade.getCfgVersion, - "location": {"./quality"} - }, - "preferences": { - "get_version": upgrade.getCfgVersion, - "location": {"."} - }, - "user": { - "get_version": upgrade.getCfgVersion, - "location": {"./user"} - } - } - } - -def register(app): - return {} - return { "version_upgrade": upgrade } diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py similarity index 74% rename from plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py rename to plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 1af2e7405a..7d728884cb 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -7,7 +7,8 @@ import io #To serialise configparser output to a string. from UM.VersionUpgrade import VersionUpgrade _removed_settings = { #Settings that were removed in 2.5. - "start_layers_at_same_position" + "start_layers_at_same_position", + "sub_div_rad_mult" } _split_settings = { #These settings should be copied to all settings it was split into. @@ -15,13 +16,13 @@ _split_settings = { #These settings should be copied to all settings it was spli } ## A collection of functions that convert the configuration of the user in Cura -# 2.4 to a configuration for Cura 2.5. +# 2.5 to a configuration for Cura 2.6. # # All of these methods are essentially stateless. -class VersionUpgrade24to25(VersionUpgrade): - ## Gets the version number from a CFG file in Uranium's 2.4 format. +class VersionUpgrade25to26(VersionUpgrade): + ## Gets the version number from a CFG file in Uranium's 2.5 format. # - # Since the format may change, this is implemented for the 2.4 format only + # Since the format may change, this is implemented for the 2.5 format only # and needs to be included in the version upgrade system rather than # globally in Uranium. # @@ -33,9 +34,11 @@ class VersionUpgrade24to25(VersionUpgrade): def getCfgVersion(self, serialised): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) - return int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) + return format_version * 1000000 + setting_version - ## Upgrades the preferences file from version 2.4 to 2.5. + ## Upgrades the preferences file from version 2.5 to 2.6. # # \param serialised The serialised form of a preferences file. # \param filename The name of the file to upgrade. @@ -58,15 +61,20 @@ class VersionUpgrade24to25(VersionUpgrade): parser["general"]["visible_settings"] = ";".join(new_visible_settings) #Change the version number in the file. - if parser.has_section("general"): #It better have! - parser["general"]["version"] = "5" + if "general" not in parser: + parser["general"] = {} + parser.set("general", "version", "4") + + if "metadata" not in parser: + parser["metadata"] = {} + parser.set("metadata", "setting_version", "1") #Re-serialise the file. output = io.StringIO() parser.write(output) return [filename], [output.getvalue()] - ## Upgrades an instance container from version 2.4 to 2.5. + ## Upgrades an instance container from version 2.5 to 2.6. # # \param serialised The serialised form of a quality profile. # \param filename The name of the file to upgrade. @@ -83,11 +91,15 @@ class VersionUpgrade24to25(VersionUpgrade): parser["values"][replacement] = parser["values"][replaced_setting] #Copy to replacement before removing the original! del replaced_setting - #Change the version number in the file. - if parser.has_section("general"): - parser["general"]["version"] = "3" + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Update version numbers + parser["general"]["version"] = "2" + parser["metadata"]["setting_version"] = "1" #Re-serialise the file. output = io.StringIO() parser.write(output) - return [filename], [output.getvalue()] \ No newline at end of file + return [filename], [output.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py new file mode 100644 index 0000000000..a3d2b274da --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py @@ -0,0 +1,44 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from . import VersionUpgrade25to26 + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +upgrade = VersionUpgrade25to26.VersionUpgrade25to26() + +def getMetaData(): + return { + "version_upgrade": { + # From To Upgrade function + ("preferences", 4000000): ("preferences", 4000001, upgrade.upgradePreferences), + # NOTE: All the instance containers share the same general/version, so we have to update all of them + # if any is updated. + ("quality_changes", 2000000): ("quality_changes", 2000001, upgrade.upgradeInstanceContainer), + ("user", 2000000): ("user", 2000001, upgrade.upgradeInstanceContainer), + ("quality", 2000000): ("quality", 2000001, upgrade.upgradeInstanceContainer), + ("definition_changes", 2000000): ("definition_changes", 2000001, upgrade.upgradeInstanceContainer), + }, + "sources": { + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + } + } + } + +def register(app): + return { "version_upgrade": upgrade } diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json new file mode 100644 index 0000000000..759b6368fd --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json @@ -0,0 +1,8 @@ + { + "name": "Version Upgrade 2.5 to 2.6", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py similarity index 85% rename from plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py rename to plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py index cb7300ad87..78cd8a03c5 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/tests/TestVersionUpgrade25to26.py @@ -4,12 +4,12 @@ import configparser #To check whether the appropriate exceptions are raised. import pytest #To register tests with. -import VersionUpgrade24to25 #The module we're testing. +import VersionUpgrade25to26 #The module we're testing. ## Creates an instance of the upgrader to test with. @pytest.fixture def upgrader(): - return VersionUpgrade24to25.VersionUpgrade24to25() + return VersionUpgrade25to26.VersionUpgrade25to26() test_cfg_version_good_data = [ { @@ -17,7 +17,7 @@ test_cfg_version_good_data = [ "file_data": """[general] version = 1 """, - "version": 1 + "version": 1000000 }, { "test_name": "Other Data Around", @@ -31,14 +31,32 @@ version = 3 layer_height = 0.12 infill_sparse_density = 42 """, - "version": 3 + "version": 3000000 }, { "test_name": "Negative Version", #Why not? "file_data": """[general] version = -20 """, - "version": -20 + "version": -20000000 + }, + { + "test_name": "Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = 1 +""", + "version": 1000001 + }, + { + "test_name": "Negative Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = -3 +""", + "version": 999997 } ] @@ -77,6 +95,22 @@ true = false "test_name": "Not a Number", "file_data": """[general] version = not-a-text-version-number +""", + "exception": ValueError + }, + { + "test_name": "Setting Value NaN", + "file_data": """[general] +version = 4 +[metadata] +setting_version = latest_or_something +""", + "exception": ValueError + }, + { + "test_name": "Major-Minor", + "file_data": """[general] +version = 1.2 """, "exception": ValueError } @@ -121,7 +155,7 @@ foo = bar } ] -## Tests whether the settings that should be removed are removed for the 2.5 +## Tests whether the settings that should be removed are removed for the 2.6 # version of preferences. @pytest.mark.parametrize("data", test_upgrade_preferences_removed_settings_data) def test_upgradePreferencesRemovedSettings(data, upgrader): @@ -137,7 +171,7 @@ def test_upgradePreferencesRemovedSettings(data, upgrader): upgraded_preferences = upgraded_preferences[0] #Find whether the removed setting is removed from the file now. - settings -= VersionUpgrade24to25._removed_settings + settings -= VersionUpgrade25to26._removed_settings parser = configparser.ConfigParser(interpolation = None) parser.read_string(upgraded_preferences) assert (parser.has_section("general") and "visible_settings" in parser["general"]) == (len(settings) > 0) #If there are settings, there must also be a preference. @@ -166,7 +200,7 @@ type = instance_container } ] -## Tests whether the settings that should be removed are removed for the 2.5 +## Tests whether the settings that should be removed are removed for the 2.6 # version of instance containers. @pytest.mark.parametrize("data", test_upgrade_instance_container_removed_settings_data) def test_upgradeInstanceContainerRemovedSettings(data, upgrader): @@ -182,7 +216,7 @@ def test_upgradeInstanceContainerRemovedSettings(data, upgrader): upgraded_container = upgraded_container[0] #Find whether the forbidden setting is still in the container. - settings -= VersionUpgrade24to25._removed_settings + settings -= VersionUpgrade25to26._removed_settings parser = configparser.ConfigParser(interpolation = None) parser.read_string(upgraded_container) assert parser.has_section("values") == (len(settings) > 0) #If there are settings, there must also be the values category. diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py new file mode 100644 index 0000000000..e2d7817077 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/VersionUpgrade26to27.py @@ -0,0 +1,167 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To parse the files we need to upgrade and write the new files. +import io #To serialise configparser output to a string. + +from UM.VersionUpgrade import VersionUpgrade +from cura.CuraApplication import CuraApplication + +# a dict of renamed quality profiles: : +_renamed_quality_profiles = { + "um3_aa0.4_PVA_Not_Supported_Quality": "um3_aa0.4_PVA_Fast_Print", + + "um3_aa0.8_CPEP_Not_Supported_Quality": "um3_aa0.8_CPEP_Fast_Print", + "um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality": "um3_aa0.8_CPEP_Superdraft_Print", + "um3_aa0.8_CPEP_Not_Supported_Verydraft_Quality": "um3_aa0.8_CPEP_Verydraft_Print", + + "um3_aa0.8_PC_Not_Supported_Quality": "um3_aa0.8_PC_Fast_Print", + "um3_aa0.8_PC_Not_Supported_Superdraft_Quality": "um3_aa0.8_PC_Superdraft_Print", + "um3_aa0.8_PC_Not_Supported_Verydraft_Quality": "um3_aa0.8_PC_Verydraft_Print", + + "um3_aa0.8_PVA_Not_Supported_Quality": "um3_aa0.8_PVA_Fast_Print", + "um3_aa0.8_PVA_Not_Supported_Superdraft_Quality": "um3_aa0.8_PVA_Superdraft_Print", + + "um3_bb0.4_ABS_Not_Supported_Quality": "um3_bb0.4_ABS_Fast_print", + "um3_bb0.4_ABS_Not_Supported_Superdraft_Quality": "um3_bb0.4_ABS_Superdraft_Print", + + "um3_bb0.4_CPE_Not_Supported_Quality": "um3_bb0.4_CPE_Fast_Print", + "um3_bb0.4_CPE_Not_Supported_Superdraft_Quality": "um3_bb0.4_CPE_Superdraft_Print", + + "um3_bb0.4_CPEP_Not_Supported_Quality": "um3_bb0.4_CPEP_Fast_Print", + "um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality": "um3_bb0.4_CPEP_Superdraft_Print", + + "um3_bb0.4_Nylon_Not_Supported_Quality": "um3_bb0.4_Nylon_Fast_Print", + "um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality": "um3_bb0.4_Nylon_Superdraft_Print", + + "um3_bb0.4_PC_Not_Supported_Quality": "um3_bb0.4_PC_Fast_Print", + + "um3_bb0.4_PLA_Not_Supported_Quality": "um3_bb0.4_PLA_Fast_Print", + "um3_bb0.4_PLA_Not_Supported_Superdraft_Quality": "um3_bb0.4_PLA_Superdraft_Print", + + "um3_bb0.4_TPU_Not_Supported_Quality": "um3_bb0.4_TPU_Fast_Print", + "um3_bb0.4_TPU_Not_Supported_Superdraft_Quality": "um3_bb0.4_TPU_Superdraft_Print", + + "um3_bb0.8_ABS_Not_Supported_Quality": "um3_bb0.8_ABS_Fast_Print", + "um3_bb0.8_ABS_Not_Supported_Superdraft_Quality": "um3_bb0.8_ABS_Superdraft_Print", + + "um3_bb0.8_CPE_Not_Supported_Quality": "um3_bb0.8_CPE_Fast_Print", + "um3_bb0.8_CPE_Not_Supported_Superdraft_Quality": "um3_bb0.8_CPE_Superdraft_Print", + + "um3_bb0.8_CPEP_Not_Supported_Quality": "um3_bb0.um3_bb0.8_CPEP_Fast_Print", + "um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality": "um3_bb0.8_CPEP_Superdraft_Print", + + "um3_bb0.8_Nylon_Not_Supported_Quality": "um3_bb0.8_Nylon_Fast_Print", + "um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality": "um3_bb0.8_Nylon_Superdraft_Print", + + "um3_bb0.8_PC_Not_Supported_Quality": "um3_bb0.8_PC_Fast_Print", + "um3_bb0.8_PC_Not_Supported_Superdraft_Quality": "um3_bb0.8_PC_Superdraft_Print", + + "um3_bb0.8_PLA_Not_Supported_Quality": "um3_bb0.8_PLA_Fast_Print", + "um3_bb0.8_PLA_Not_Supported_Superdraft_Quality": "um3_bb0.8_PLA_Superdraft_Print", + + "um3_bb0.8_TPU_Not_Supported_Quality": "um3_bb0.8_TPU_Fast_print", + "um3_bb0.8_TPU_Not_Supported_Superdraft_Quality": "um3_bb0.8_TPU_Superdraft_Print", +} + +## A collection of functions that convert the configuration of the user in Cura +# 2.6 to a configuration for Cura 2.7. +# +# All of these methods are essentially stateless. +class VersionUpgrade26to27(VersionUpgrade): + ## Gets the version number from a CFG file in Uranium's 2.6 format. + # + # Since the format may change, this is implemented for the 2.6 format only + # and needs to be included in the version upgrade system rather than + # globally in Uranium. + # + # \param serialised The serialised form of a CFG file. + # \return The version number stored in the CFG file. + # \raises ValueError The format of the version number in the file is + # incorrect. + # \raises KeyError The format of the file is incorrect. + def getCfgVersion(self, serialised): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + format_version = int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) + return format_version * 1000000 + setting_version + + ## Upgrades a preferences file from version 2.6 to 2.7. + # + # \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.read_string(serialised) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "4" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades a container file other than a container stack file from version 2.6 to 2.7. + # + # \param serialised The serialised form of a container file. + # \param filename The name of the file to upgrade. + def upgradeOtherContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation=None) + parser.read_string(serialised) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "2" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades a container stack from version 2.6 to 2.7. + # + # \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.read_string(serialised) + + # Update IDs of the renamed quality profiles + if parser.has_section("containers"): + key_list = [key for key in parser["containers"].keys()] + for key in key_list: + container_id = parser.get("containers", key) + new_id = _renamed_quality_profiles.get(container_id) + if new_id is not None: + parser.set("containers", key, new_id) + + for each_section in ("general", "metadata"): + if not parser.has_section(each_section): + parser.add_section(each_section) + + # Update version numbers + if "general" not in parser: + parser["general"] = {} + parser["general"]["version"] = "3" + + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "2" + + # Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py new file mode 100644 index 0000000000..b0c0d70ae2 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -0,0 +1,62 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from . import VersionUpgrade26to27 + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +upgrade = VersionUpgrade26to27.VersionUpgrade26to27() + +def getMetaData(): + return { + "version_upgrade": { + # From To Upgrade function + ("machine_stack", 3000000): ("machine_stack", 3000002, upgrade.upgradeStack), + ("extruder_train", 3000000): ("extruder_train", 3000002, upgrade.upgradeStack), + + # In 2.6.x, Preferences are saved with "version = 4" and no setting_version. + # This means those Preferences files will still be treated as "4.0" as defined in VersionUpgrade25to26, + # so the 25to26 upgrade routine will be called again. + # + # To fix this, we first fix the upgrade routine for 25to26 so it actually upgrades to "4.1", and then + # here we can upgrade from "4.1" to "4.2" safely. + # + ("preferences", 4000001): ("preferences", 4000002, upgrade.upgradePreferences), + # NOTE: All the instance containers share the same general/version, so we have to update all of them + # if any is updated. + ("quality_changes", 2000001): ("quality_changes", 2000002, upgrade.upgradeOtherContainer), + ("user", 2000001): ("user", 2000002, upgrade.upgradeOtherContainer), + ("quality", 2000001): ("quality", 2000002, upgrade.upgradeOtherContainer), + ("definition_changes", 2000001): ("definition_changes", 2000002, upgrade.upgradeOtherContainer), + }, + "sources": { + "machine_stack": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + } + } + } + +def register(app): + return { "version_upgrade": upgrade } diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json new file mode 100644 index 0000000000..3c3d7fff8c --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json @@ -0,0 +1,8 @@ + { + "name": "Version Upgrade 2.6 to 2.7", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py new file mode 100644 index 0000000000..f8e3561b38 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/tests/TestVersionUpgrade26to27.py @@ -0,0 +1,191 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To check whether the appropriate exceptions are raised. +import pytest #To register tests with. + +import VersionUpgrade26to27 #The module we're testing. + +## Creates an instance of the upgrader to test with. +@pytest.fixture +def upgrader(): + return VersionUpgrade26to27.VersionUpgrade26to27() + +test_cfg_version_good_data = [ + { + "test_name": "Simple", + "file_data": """[general] +version = 1 +""", + "version": 1000000 + }, + { + "test_name": "Other Data Around", + "file_data": """[nonsense] +life = good + +[general] +version = 3 + +[values] +layer_height = 0.12 +infill_sparse_density = 42 +""", + "version": 3000000 + }, + { + "test_name": "Negative Version", #Why not? + "file_data": """[general] +version = -20 +""", + "version": -20000000 + }, + { + "test_name": "Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = 1 +""", + "version": 1000001 + }, + { + "test_name": "Negative Setting Version", + "file_data": """[general] +version = 1 +[metadata] +setting_version = -3 +""", + "version": 999997 + } +] + +## Tests the technique that gets the version number from CFG files. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the correct +# version number in that CFG file. +# \param upgrader The instance of the upgrade class to test. +@pytest.mark.parametrize("data", test_cfg_version_good_data) +def test_cfgVersionGood(data, upgrader): + version = upgrader.getCfgVersion(data["file_data"]) + assert version == data["version"] + +test_cfg_version_bad_data = [ + { + "test_name": "Empty", + "file_data": "", + "exception": configparser.Error #Explicitly not specified further which specific error we're getting, because that depends on the implementation of configparser. + }, + { + "test_name": "No General", + "file_data": """[values] +layer_height = 0.1337 +""", + "exception": configparser.Error + }, + { + "test_name": "No Version", + "file_data": """[general] +true = false +""", + "exception": configparser.Error + }, + { + "test_name": "Not a Number", + "file_data": """[general] +version = not-a-text-version-number +""", + "exception": ValueError + }, + { + "test_name": "Setting Value NaN", + "file_data": """[general] +version = 4 +[metadata] +setting_version = latest_or_something +""", + "exception": ValueError + }, + { + "test_name": "Major-Minor", + "file_data": """[general] +version = 1.2 +""", + "exception": ValueError + } +] + +## Tests whether getting a version number from bad CFG files gives an +# exception. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the class of +# exception it needs to throw. +# \param upgrader The instance of the upgrader to test. +@pytest.mark.parametrize("data", test_cfg_version_bad_data) +def test_cfgVersionBad(data, upgrader): + with pytest.raises(data["exception"]): + upgrader.getCfgVersion(data["file_data"]) + +test_upgrade_stacks_with_not_supported_data = [ + { + "test_name": "Global stack with Not Supported quality profile", + "file_data": """[general] +version = 3 +name = Ultimaker 3 +id = Ultimaker 3 + +[metadata] +type = machine + +[containers] +0 = Ultimaker 3_user +1 = empty +2 = um3_global_Normal_Quality +3 = empty +4 = empty +5 = empty +6 = ultimaker3 +""" + }, + { + "test_name": "Extruder stack left with Not Supported quality profile", + "file_data": """[general] +version = 3 +name = Extruder 1 +id = ultimaker3_extruder_left #2 + +[metadata] +position = 0 +machine = Ultimaker 3 +type = extruder_train + +[containers] +0 = ultimaker3_extruder_left #2_user +1 = empty +2 = um3_aa0.4_PVA_Not_Supported_Quality +3 = generic_pva_ultimaker3_AA_0.4 +4 = ultimaker3_aa04 +5 = ultimaker3_extruder_left #2_settings +6 = ultimaker3_extruder_left +""" + } +] + +## Tests whether the "Not Supported" quality profiles in the global and extruder stacks are renamed for the 2.7 +# version of preferences. +@pytest.mark.parametrize("data", test_upgrade_stacks_with_not_supported_data) +def test_upgradeStacksWithNotSupportedQuality(data, upgrader): + # Read old file + original_parser = configparser.ConfigParser(interpolation = None) + original_parser.read_string(data["file_data"]) + + # Perform the upgrade. + _, upgraded_stacks = upgrader.upgradeStack(data["file_data"], "") + upgraded_stack = upgraded_stacks[0] + + # Find whether the not supported profile has been renamed + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(upgraded_stack) + assert("Not_Supported" not in parser.get("containers", "2")) diff --git a/plugins/X3DReader/__init__.py b/plugins/X3DReader/__init__.py index 84922f627f..9e0e2df91c 100644 --- a/plugins/X3DReader/__init__.py +++ b/plugins/X3DReader/__init__.py @@ -7,13 +7,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "X3D Reader"), - "author": "Seva Alekseyev", - "version": "0.5", - "description": catalog.i18nc("@info:whatsthis", "Provides support for reading X3D files."), - "api": 3 - }, "mesh_reader": [ { "extension": "x3d", diff --git a/plugins/X3DReader/plugin.json b/plugins/X3DReader/plugin.json new file mode 100644 index 0000000000..f18c7f033d --- /dev/null +++ b/plugins/X3DReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "X3D Reader", + "author": "Seva Alekseyev", + "version": "0.5.0", + "description": "Provides support for reading X3D files.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/XRayView/__init__.py b/plugins/XRayView/__init__.py index 34e4761863..e726001216 100644 --- a/plugins/XRayView/__init__.py +++ b/plugins/XRayView/__init__.py @@ -8,13 +8,6 @@ catalog = i18nCatalog("cura") def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "X-Ray View"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides the X-Ray view."), - "api": 3 - }, "view": { "name": catalog.i18nc("@item:inlistbox", "X-Ray"), "weight": 1 diff --git a/plugins/XRayView/plugin.json b/plugins/XRayView/plugin.json new file mode 100644 index 0000000000..4e89690c13 --- /dev/null +++ b/plugins/XRayView/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "X-Ray View", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides the X-Ray view.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index e813f6e686..b6b3e0671c 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -12,15 +12,33 @@ from UM.Util import parseBool from cura.CuraApplication import CuraApplication import UM.Dictionary -from UM.Settings.InstanceContainer import InstanceContainer, InvalidInstanceError +from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.ContainerRegistry import ContainerRegistry + ## Handles serializing and deserializing material containers from an XML file class XmlMaterialProfile(InstanceContainer): + CurrentFdmMaterialVersion = "1.3" + Version = 1 + def __init__(self, container_id, *args, **kwargs): super().__init__(container_id, *args, **kwargs) self._inherited_files = [] + ## Translates the version number in the XML files to the setting_version + # metadata entry. + # + # Since the two may increment independently we need a way to say which + # versions of the XML specification are compatible with our setting data + # version numbers. + # + # \param xml_version: The version number found in an XML file. + # \return The corresponding setting_version. + def xmlVersionToSettingVersion(self, xml_version: str) -> int: + if xml_version == "1.3": + return 2 + return 0 #Older than 1.3. + def getInheritedFiles(self): return self._inherited_files @@ -37,16 +55,14 @@ class XmlMaterialProfile(InstanceContainer): def setMetaDataEntry(self, key, value): if self.isReadOnly(): return - if self.getMetaDataEntry(key, None) == value: - # Prevent recursion caused by for loop. - return super().setMetaDataEntry(key, value) basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is self.id, this is a basefile. - # Update all containers that share GUID and basefile + # Update all containers that share basefile for container in ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile): - container.setMetaDataEntry(key, value) + if container.getMetaDataEntry(key, None) != value: # Prevent recursion + container.setMetaDataEntry(key, value) ## Overridden from InstanceContainer, similar to setMetaDataEntry. # without this function the setName would only set the name of the specific nozzle / material / machine combination container @@ -92,7 +108,7 @@ class XmlMaterialProfile(InstanceContainer): # container.setDirty(True) ## Overridden from InstanceContainer - # base file: global settings + supported machines + # base file: common settings + supported machines # machine / variant combination: only changes for itself. def serialize(self): registry = ContainerRegistry.getInstance() @@ -106,7 +122,9 @@ class XmlMaterialProfile(InstanceContainer): builder = ET.TreeBuilder() - root = builder.start("fdmmaterial", { "xmlns": "http://www.ultimaker.com/material"}) + root = builder.start("fdmmaterial", + {"xmlns": "http://www.ultimaker.com/material", + "version": self.CurrentFdmMaterialVersion}) ## Begin Metadata Block builder.start("metadata") @@ -145,10 +163,10 @@ class XmlMaterialProfile(InstanceContainer): for key, value in metadata.items(): builder.start(key) - # Normally value is a string. - # Nones get handled well. - if isinstance(value, bool): - value = str(value) # parseBool in deserialize expects 'True'. + if value is not None: #Nones get handled well by the builder. + #Otherwise the builder always expects a string. + #Deserialize expects the stringified version. + value = str(value) builder.data(value) builder.end(key) @@ -372,30 +390,31 @@ class XmlMaterialProfile(InstanceContainer): self._path = "" def getConfigurationTypeFromSerialized(self, serialized: str) -> Optional[str]: - return "material" + return "materials" def getVersionFromSerialized(self, serialized: str) -> Optional[int]: - version = None data = ET.fromstring(serialized) - metadata = data.iterfind("./um:metadata/*", self.__namespaces) - for entry in metadata: - tag_name = _tag_without_namespace(entry) - if tag_name == "version": - try: - version = int(entry.text) - except Exception as e: - raise InvalidInstanceError("Invalid version string '%s': %s" % (entry.text, e)) - break - if version is None: - raise InvalidInstanceError("Missing version in metadata") - return version + + version = 1 + # get setting version + if "version" in data.attrib: + setting_version = self.xmlVersionToSettingVersion(data.attrib["version"]) + else: + setting_version = self.xmlVersionToSettingVersion("1.2") + + return version * 1000000 + setting_version ## Overridden from InstanceContainer def deserialize(self, serialized): # update the serialized data first from UM.Settings.Interfaces import ContainerInterface serialized = ContainerInterface.deserialize(self, serialized) - data = ET.fromstring(serialized) + + try: + data = ET.fromstring(serialized) + except: + Logger.logException("e", "An exception occured while parsing the material profile") + return # Reset previous metadata self.clearData() # Ensure any previous data is gone. @@ -404,11 +423,17 @@ class XmlMaterialProfile(InstanceContainer): meta_data["base_file"] = self.id meta_data["status"] = "unknown" # TODO: Add material verfication + common_setting_values = {} + inherits = data.find("./um:inherits", self.__namespaces) if inherits is not None: inherited = self._resolveInheritance(inherits.text) data = self._mergeXML(inherited, data) + if "version" in data.attrib: + meta_data["setting_version"] = self.xmlVersionToSettingVersion(data.attrib["version"]) + else: + meta_data["setting_version"] = self.xmlVersionToSettingVersion("1.2") #1.2 and lower didn't have that version number there yet. metadata = data.iterfind("./um:metadata/*", self.__namespaces) for entry in metadata: tag_name = _tag_without_namespace(entry) @@ -429,6 +454,9 @@ class XmlMaterialProfile(InstanceContainer): continue meta_data[tag_name] = entry.text + if tag_name in self.__material_metadata_setting_map: + common_setting_values[self.__material_metadata_setting_map[tag_name]] = entry.text + if "description" not in meta_data: meta_data["description"] = "" @@ -441,47 +469,47 @@ class XmlMaterialProfile(InstanceContainer): tag_name = _tag_without_namespace(entry) property_values[tag_name] = entry.text - diameter = float(property_values.get("diameter", 2.85)) # In mm - density = float(property_values.get("density", 1.3)) # In g/cm3 + if tag_name in self.__material_properties_setting_map: + common_setting_values[self.__material_properties_setting_map[tag_name]] = entry.text + + meta_data["approximate_diameter"] = str(round(float(property_values.get("diameter", 2.85)))) # In mm meta_data["properties"] = property_values self.setDefinition(ContainerRegistry.getInstance().findDefinitionContainers(id = "fdmprinter")[0]) - global_compatibility = True - global_setting_values = {} + common_compatibility = True settings = data.iterfind("./um:settings/um:setting", self.__namespaces) for entry in settings: key = entry.get("key") - if key in self.__material_property_setting_map: - global_setting_values[self.__material_property_setting_map[key]] = entry.text + if key in self.__material_settings_setting_map: + common_setting_values[self.__material_settings_setting_map[key]] = entry.text elif key in self.__unmapped_settings: if key == "hardware compatible": - global_compatibility = parseBool(entry.text) + common_compatibility = parseBool(entry.text) else: Logger.log("d", "Unsupported material setting %s", key) - self._cached_values = global_setting_values + self._cached_values = common_setting_values # from InstanceContainer ancestor - meta_data["approximate_diameter"] = round(diameter) - meta_data["compatible"] = global_compatibility + meta_data["compatible"] = common_compatibility self.setMetaData(meta_data) self._dirty = False machines = data.iterfind("./um:settings/um:machine", self.__namespaces) for machine in machines: - machine_compatibility = global_compatibility + machine_compatibility = common_compatibility machine_setting_values = {} settings = machine.iterfind("./um:setting", self.__namespaces) for entry in settings: key = entry.get("key") - if key in self.__material_property_setting_map: - machine_setting_values[self.__material_property_setting_map[key]] = entry.text + if key in self.__material_settings_setting_map: + machine_setting_values[self.__material_settings_setting_map[key]] = entry.text elif key in self.__unmapped_settings: if key == "hardware compatible": machine_compatibility = parseBool(entry.text) else: Logger.log("d", "Unsupported material setting %s", key) - cached_machine_setting_properties = global_setting_values.copy() + cached_machine_setting_properties = common_setting_values.copy() cached_machine_setting_properties.update(machine_setting_values) identifiers = machine.iterfind("./um:machine_identifier", self.__namespaces) @@ -528,7 +556,7 @@ class XmlMaterialProfile(InstanceContainer): variant_containers = ContainerRegistry.getInstance().findInstanceContainers(definition = definition.id, name = hotend_id) if not variant_containers: - Logger.log("d", "No variants found with ID or name %s for machine %s", hotend_id, definition.id) + #Logger.log("d", "No variants found with ID or name %s for machine %s", hotend_id, definition.id) continue hotend_compatibility = machine_compatibility @@ -536,8 +564,8 @@ class XmlMaterialProfile(InstanceContainer): settings = hotend.iterfind("./um:setting", self.__namespaces) for entry in settings: key = entry.get("key") - if key in self.__material_property_setting_map: - hotend_setting_values[self.__material_property_setting_map[key]] = entry.text + if key in self.__material_settings_setting_map: + hotend_setting_values[self.__material_settings_setting_map[key]] = entry.text elif key in self.__unmapped_settings: if key == "hardware compatible": hotend_compatibility = parseBool(entry.text) @@ -567,7 +595,7 @@ class XmlMaterialProfile(InstanceContainer): def _addSettingElement(self, builder, instance): try: - key = UM.Dictionary.findKey(self.__material_property_setting_map, instance.definition.key) + key = UM.Dictionary.findKey(self.__material_settings_setting_map, instance.definition.key) except ValueError: return @@ -582,7 +610,7 @@ class XmlMaterialProfile(InstanceContainer): return material_name # Map XML file setting names to internal names - __material_property_setting_map = { + __material_settings_setting_map = { "print temperature": "default_material_print_temperature", "heated bed temperature": "material_bed_temperature", "standby temperature": "material_standby_temperature", @@ -594,6 +622,12 @@ class XmlMaterialProfile(InstanceContainer): __unmapped_settings = [ "hardware compatible" ] + __material_properties_setting_map = { + "diameter": "material_diameter" + } + __material_metadata_setting_map = { + "GUID": "material_guid" + } # Map XML file product names to internal ids # TODO: Move this to definition's metadata diff --git a/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py new file mode 100644 index 0000000000..c93c476c2e --- /dev/null +++ b/plugins/XmlMaterialProfile/XmlMaterialUpgrader.py @@ -0,0 +1,46 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import xml.etree.ElementTree as ET + +from UM.VersionUpgrade import VersionUpgrade + + +class XmlMaterialUpgrader(VersionUpgrade): + def getXmlVersion(self, serialized): + data = ET.fromstring(serialized) + + version = 1 + # get setting version + if "version" in data.attrib: + setting_version = self._xmlVersionToSettingVersion(data.attrib["version"]) + else: + setting_version = self._xmlVersionToSettingVersion("1.2") + + return version * 1000000 + setting_version + + def _xmlVersionToSettingVersion(self, xml_version: str) -> int: + if xml_version == "1.3": + return 2 + return 0 #Older than 1.3. + + def upgradeMaterial(self, serialised, filename): + data = ET.fromstring(serialised) + + # update version + metadata = data.iterfind("./um:metadata/*", {"um": "http://www.ultimaker.com/material"}) + for entry in metadata: + if _tag_without_namespace(entry) == "version": + entry.text = "2" + break + + data.attrib["version"] = "1.3" + + # this makes sure that the XML header states encoding="utf-8" + new_serialised = ET.tostring(data, encoding="utf-8").decode("utf-8") + + return [filename], [new_serialised] + + +def _tag_without_namespace(element): + return element.tag[element.tag.rfind("}") + 1:] diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 213b9a358a..6ad4a279d0 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -1,33 +1,52 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the AGPLv3 or higher. from . import XmlMaterialProfile +from . import XmlMaterialUpgrader from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase from UM.i18n import i18nCatalog + + catalog = i18nCatalog("cura") +upgrader = XmlMaterialUpgrader.XmlMaterialUpgrader() + def getMetaData(): return { - "plugin": { - "name": catalog.i18nc("@label", "Material Profiles"), - "author": "Ultimaker", - "version": "1.0", - "description": catalog.i18nc("@info:whatsthis", "Provides capabilities to read and write XML-based material profiles."), - "api": 3 - }, "settings_container": { "type": "material", "mimetype": "application/x-ultimaker-material-profile" + }, + "version_upgrade": { + ("materials", 1000000): ("materials", 1000002, upgrader.upgradeMaterial), + }, + "sources": { + "materials": { + "get_version": upgrader.getXmlVersion, + "location": {"./materials"} + }, } } + def register(app): + # add Mime type mime_type = MimeType( name = "application/x-ultimaker-material-profile", comment = "Ultimaker Material Profile", suffixes = [ "xml.fdm_material" ] ) MimeTypeDatabase.addMimeType(mime_type) - return { "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile") } + # add upgrade version + from cura.CuraApplication import CuraApplication + from UM.VersionUpgradeManager import VersionUpgradeManager + VersionUpgradeManager.getInstance().registerCurrentVersion( + ("materials", XmlMaterialProfile.XmlMaterialProfile.Version * 1000000 + CuraApplication.SettingVersion), + (CuraApplication.ResourceTypes.MaterialInstanceContainer, "application/x-ultimaker-material-profile") + ) + + return {"version_upgrade": upgrader, + "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile"), + } diff --git a/plugins/XmlMaterialProfile/plugin.json b/plugins/XmlMaterialProfile/plugin.json new file mode 100644 index 0000000000..17056dcb3e --- /dev/null +++ b/plugins/XmlMaterialProfile/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Material Profiles", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides capabilities to read and write XML-based material profiles.", + "api": 4, + "i18n-catalog": "cura" +} diff --git a/resources/definitions/3dator.def.json b/resources/definitions/3dator.def.json new file mode 100644 index 0000000000..fd67f3b797 --- /dev/null +++ b/resources/definitions/3dator.def.json @@ -0,0 +1,62 @@ +{ + "id": "3Dator", + "version": 2, + "name": "3Dator", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "3Dator GmbH", + "manufacturer": "3Dator GmbH", + "category": "Other", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "supports_usb_connection": true, + "platform": "3dator_platform.stl", + "machine_extruder_trains": + { + "0": "fdmextruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "3Dator" }, + "machine_nozzle_size": { "default_value": 0.5 }, + "speed_travel": { "default_value": 120 }, + "prime_tower_size": { "default_value": 8.660254037844387 }, + "infill_sparse_density": { "default_value": 20 }, + "speed_wall_x": { "default_value": 45 }, + "speed_wall_0": { "default_value": 40 }, + "speed_topbottom": { "default_value": 35 }, + "layer_height": { "default_value": 0.2 }, + "speed_print": { "default_value": 50 }, + "speed_infill": { "default_value": 60 }, + "machine_extruder_count": { "default_value": 1 }, + "machine_heated_bed": { "default_value": true }, + "machine_center_is_zero": { "default_value": false }, + "machine_height": { "default_value": 260 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_depth": { "default_value": 170 }, + "machine_width": { "default_value": 180 }, + "material_diameter": { "default_value": 1.75 }, + "retraction_speed": {"default_value":100}, + "cool_fan_speed_min": {"default_value": 20}, + "cool_fan_speed_max": {"default_value": 70}, + "adhesion_type": { "default_value": "none" }, + "machine_head_with_fans_polygon": { + "default_value": [ + [-15, -25], + [-15, 35], + [40, 35], + [40, -25] + ] + }, + "gantry_height": { + "default_value": 30 + }, + "machine_start_gcode": { + "default_value": ";Sliced at: {day} {date} {time}\nM104 S{material_print_temperature} ;set temperatures\nM140 S{material_bed_temperature}\nM109 S{material_print_temperature} ;wait for temperatures\nM190 S{material_bed_temperature}\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 Z0 ;move Z to min endstops\nG28 X0 Y0 ;move X/Y to min endstops\nG29 ;Auto Level\nG1 Z0.6 F{travel_speed} ;move the Nozzle near the Bed\nG92 E0\nG1 Y0 ;zero the extruded length\nG1 X10 E30 F500 ;printing a Line from right to left\nG92 E0 ;zero the extruded length again\nG1 Z2\nG1 F{travel_speed}\nM117 Printing...;Put printing message on LCD screen\nM150 R255 U255 B255 P4 ;Change LED Color to white" }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\nG28 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + } + } +} diff --git a/resources/definitions/alya3dp.def.json b/resources/definitions/alya3dp.def.json new file mode 100644 index 0000000000..1ea16773d6 --- /dev/null +++ b/resources/definitions/alya3dp.def.json @@ -0,0 +1,55 @@ +{ + "id": "alya3dp", + "name": "ALYA", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "ALYA", + "manufacturer": "ALYA", + "category": "Other", + "file_formats": "text/x-gcode" + }, + + "overrides": { + "machine_width": { + "default_value": 100 + }, + "machine_height": { + "default_value": 133 + }, + "machine_depth": { + "default_value": 100 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_head_shape_min_x": { + "default_value": 75 + }, + "machine_head_shape_min_y": { + "default_value": 18 + }, + "machine_head_shape_max_x": { + "default_value": 18 + }, + "machine_head_shape_max_y": { + "default_value": 35 + }, + "machine_nozzle_gantry_distance": { + "default_value": 55 + }, + "machine_gcode_flavor": { + "default_value": "RepRap" + }, + "machine_start_gcode": { + "default_value": ";Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\n;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{print_temperature} ;Uncomment to add your own temperature line\nG21 ;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 max endstops\nG1 Z115.0 F{travel_speed} ;move th e platform up 20mm\nG28 Z0 ;move Z to max endstop\nG1 Z15.0 F{travel_speed} ;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{travel_speed}\nM301 H1 P26.38 I2.57 D67.78\n;Put printing message on LCD screen\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": ";End GCode\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nG28 Z0\nM84 ;steppers off\nG90 ;absolute positioning\n;{profile_string}" + } + } +} \ No newline at end of file diff --git a/resources/definitions/cartesio.def.json b/resources/definitions/cartesio.def.json index bcaaa30380..d065d6a7c6 100644 --- a/resources/definitions/cartesio.def.json +++ b/resources/definitions/cartesio.def.json @@ -17,7 +17,7 @@ "has_variants": true, "variants_name": "Nozzle size", - "preferred_variant": "*0.4*", + "preferred_variant": "*0.8*", "preferred_material": "*pla*", "preferred_quality": "*normal*", @@ -29,13 +29,14 @@ "3": "cartesio_extruder_3" }, "platform": "cartesio_platform.stl", - "platform_offset": [ -120, -1.5, 130], + "platform_offset": [ -220, -5, 150], "first_start_actions": ["MachineSettingsAction"], "supported_actions": ["MachineSettingsAction"] }, "overrides": { - "machine_extruder_count": { "default_value": 4 }, + "machine_extruder_count": { "default_value": 2 }, + "material_diameter": { "default_value": 1.75 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "gantry_height": { "default_value": 35 }, @@ -45,20 +46,22 @@ "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "material_print_temp_wait": { "default_value": false }, "material_bed_temp_wait": { "default_value": false }, - "infill_pattern": { "default_value": "grid"}, "prime_tower_enable": { "default_value": true }, "prime_tower_wall_thickness": { "resolve": 0.7 }, "prime_tower_position_x": { "default_value": 50 }, - "prime_tower_position_y": { "default_value": 71 }, + "prime_tower_position_y": { "default_value": 150 }, + "machine_max_feedrate_z": { "default_value": 20 }, + "machine_disallowed_areas": { "default_value": [ + [[215, 135], [-215, 135], [-215, 75], [215, 75]] + ]}, "machine_start_gcode": { - "default_value": "\nM104 S120 T1\nM104 S120 T2\nM104 S120 T3\n\nM92 E159\n\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature_layer_0}\n\nM117 Heating for 50 sec.\nG4 S20\nM117 Heating for 30 sec.\nG4 S20\nM117 Heating for 10 sec.\nM300 S600 P1000\nG4 S9\n\nM117 purging nozzle....\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-1 F600\n\nM117 wiping nozzle....\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM104 S21 T1\nM104 S21 T2\nM104 S21 T3\n\nM117 Printing .....\n" + "default_value": "\nM92 E159 ;2288 for V5 extruder\n\nM104 S120 T1\nM104 S120 T2\nM104 S120 T3\n\nG21\nG90\nM42 S255 P13 ;chamber lights\nM42 S255 P12 ;fume extraction\nM204 S300 ;default acceleration\nM205 X10 ;default jerk\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature_layer_0}\n\nM117 Heating for 50 sec.\nG4 S20\nM117 Heating for 30 sec.\nG4 S20\nM117 Heating for 10 sec.\nM300 S1200 P1000\nG4 S9\n\nM117 purging nozzle....\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-1 F600\n\nM117 wiping nozzle....\nG1 X1 Y24 F3000\nG1 X70 F9000\nG1 Z10 F900\n\nM104 S21 T1\nM104 S21 T2\nM104 S21 T3\n\nM117 Printing .....\n" }, "machine_end_gcode": { - "default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nM104 S5 T2\nM104 S5 T3\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\nT0\n; -- end of GCODE --" + "default_value": "; -- END GCODE --\nM117 cooling down....\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nM104 S5 T2\nM104 S5 T3\n\nG91\nG1 Z1 F900\nG90\n\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\nT0\nM117 Finished.\n; -- end of GCODE --" }, "layer_height": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, "layer_height_0": { "maximum_value": "(0.8 * min(extruderValues('machine_nozzle_size')))" }, - "layer_height_0": { "resolve": "0.2 if min(extruderValues('machine_nozzle_size')) < 0.3 else 0.3 "}, "machine_nozzle_heat_up_speed": {"default_value": 20}, "machine_nozzle_cool_down_speed": {"default_value": 20}, "machine_min_cool_heat_time_window": {"default_value": 5} diff --git a/resources/definitions/custom.def.json b/resources/definitions/custom.def.json index 80e01916bb..8f15f00a0f 100644 --- a/resources/definitions/custom.def.json +++ b/resources/definitions/custom.def.json @@ -22,12 +22,5 @@ "7": "custom_extruder_8" }, "first_start_actions": ["MachineSettingsAction"] - }, - "overrides": - { - "machine_extruder_count": - { - "default_value": 8 - } } } diff --git a/resources/definitions/dagoma_discoeasy200.def.json b/resources/definitions/dagoma_discoeasy200.def.json new file mode 100755 index 0000000000..3408c917a6 --- /dev/null +++ b/resources/definitions/dagoma_discoeasy200.def.json @@ -0,0 +1,60 @@ +{ + "id": "Dagoma_discoeasy200", + "name": "Dagoma DiscoEasy200", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Dagoma", + "manufacturer": "Dagoma", + "category": "Other", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2.png", + "platform": "discoeasy200.stl", + "platform_offset": [ 105, -59, 280] + }, + "overrides": { + "machine_width": { + "default_value": 211 + }, + "machine_height": { + "default_value": 205 + }, + "machine_depth": { + "default_value": 211 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_head_with_fans_polygon": { + "default_value": [ + [16, 37], + [16, -65], + [-16, -65], + [16, 37] + ] + }, + "machine_nozzle_gantry_distance": { + "default_value": 55 + }, + "machine_nozzle_offset_x_1": { + "default_value": 18 + }, + "machine_nozzle_offset_y_1": { + "default_value": 0 + }, + "machine_gcode_flavor": { + "default_value": "RepRap" + }, + "machine_start_gcode": { + "default_value": ";Gcode by Cura\nG90 ;absolute positioning\nM106 S250 ;fan on for the palpeur\nG28 X Y\nG1 X50\nM109 S180\nG28\nM104 S{print_temperature}\n;Activation palpeur\n;bloc palpeur\nG29 ;Auto level\nM107 ;start with the fan off\nG1 X100 Y20 F3000\nG1 Z0.5\nM109 S{print_temperature}\nM140 S{material_bed_temperature}\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Z3\nG1 F3000\n" + }, + "machine_end_gcode": { + "default_value": "\nM104 S0\nM106 S255 ;start fan full power\nM140 S0 ;heated bed heater off (if you have it)\n;Home machine\nG91 ;relative positioning\nG1 E-1 F{retraction_speed} ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+3 F3000 ;move Z up a bit and retract filament even more\nG90\nG28 X Y\n;Ventilation forcee\nM107 ;stop fan\n;Shut down motor\nM84 ;shut down motors\n" + } + } +} + diff --git a/resources/definitions/delta_go.def.json b/resources/definitions/delta_go.def.json index b341a17656..ccb659f973 100644 --- a/resources/definitions/delta_go.def.json +++ b/resources/definitions/delta_go.def.json @@ -14,23 +14,29 @@ }, "overrides": { "machine_name": { "default_value": "Delta Go" }, - "material_diameter": { "default_value": 1.75 }, + "material_diameter": { "default_value": 1.75 }, + "default_material_print_temperature": { "default_value": 210 }, "speed_travel": { "default_value": 150 }, - "prime_tower_size": { "default_value": 8.66 }, - "infill_sparse_density": { "default_value": 10 }, + "prime_tower_size": { "default_value": 8.66 }, + "infill_sparse_density": { "default_value": 10 }, "speed_wall_x": { "default_value": 30 }, "speed_wall_0": { "default_value": 30 }, "speed_topbottom": { "default_value": 20 }, - "layer_height": { "default_value": 0.2 }, + "layer_height": { "default_value": 0.15 }, "speed_print": { "default_value": 30 }, - "machine_heated_bed": { "default_value": false }, - "machine_center_is_zero": { "default_value": true }, - "machine_height": { "default_value": 127 }, - "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_heated_bed": { "default_value": false }, + "machine_center_is_zero": { "default_value": true }, + "machine_height": { "default_value": 154 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_depth": { "default_value": 115 }, "machine_width": { "default_value": 115 }, - "retraction_amount": { "default_value": 4.2 }, - "retraction_speed": { "default_value": 400 }, - "machine_shape": { "default_value": "elliptic"} + "raft_airgap": { "default_value": 0.15 }, + "retraction_hop_enabled": { "value": "True" }, + "retraction_amount": { "default_value": 4.1 }, + "retraction_speed": { "default_value": 500 }, + "retraction_hop": { "value": "0.2" }, + "retraction_hop_only_when_collides": { "value": "True" }, + "brim_width": { "value": "5" }, + "machine_shape": { "default_value": "elliptic"} } } diff --git a/resources/definitions/easyarts_ares.def.json b/resources/definitions/easyarts_ares.def.json new file mode 100644 index 0000000000..12273ed9ce --- /dev/null +++ b/resources/definitions/easyarts_ares.def.json @@ -0,0 +1,81 @@ +{ + "id": "easyarts_ares", + "name": "EasyArts Ares", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "nliaudat", + "manufacturer": "EasyArts (discontinued)", + "category": "Other", + "file_formats": "text/x-gcode" + }, + "overrides": { + "machine_start_gcode": { + "default_value": "; -- START GCODE --\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 \nG29 Z0.12 ;Auto-bedleveling with Z offset \nG92 E0 ;zero the extruded length \nG1 F2000 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\nM117 Printing...\n; -- end of START GCODE --" + }, + "machine_end_gcode": { + "default_value": "; -- START GCODE --\nG28 ; Home all axes\nM104 S0 ;extruder heater off\n;M140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n;M84 ;steppers off\nG90 ;absolute positioning\n; -- end of START GCODE --" + }, + "machine_width": { + "default_value": 180 + }, + "machine_depth": { + "default_value": 180 + }, + "machine_height": { + "default_value": 200 + }, + "machine_heated_bed": { + "default_value": false + }, + "machine_center_is_zero": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap" + }, + "layer_height": { + "default_value": 0.2 + }, + "layer_height_0": { + "default_value": 0.2 + }, + "wall_thickness": { + "default_value": 1 + }, + "top_bottom_thickness": { + "default_value": 1 + }, + "bottom_thickness": { + "default_value": 1 + }, + "material_diameter": { + "default_value": 1.75 + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "speed_print": { + "default_value": 75 + }, + "speed_infill": { + "default_value": 100 + }, + "speed_wall": { + "default_value": 25 + }, + "speed_topbottom": { + "default_value": 15 + }, + "speed_travel": { + "default_value": 150 + }, + "speed_layer_0": { + "default_value": 30 + }, + "support_enable": { + "default_value": true + } + } +} diff --git a/resources/definitions/fdmextruder.def.json b/resources/definitions/fdmextruder.def.json index 48cf750468..bf235d76eb 100644 --- a/resources/definitions/fdmextruder.def.json +++ b/resources/definitions/fdmextruder.def.json @@ -7,6 +7,7 @@ "type": "extruder", "author": "Ultimaker B.V.", "manufacturer": "Ultimaker", + "setting_version": 1, "visible": false }, "settings": @@ -25,10 +26,19 @@ "type": "extruder", "default_value": "0", "settable_per_mesh": true, - "settable_per_extruder": false, + "settable_per_extruder": true, "settable_per_meshgroup": false, "settable_globally": false }, + "machine_nozzle_id": + { + "label": "Nozzle ID", + "description": "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\".", + "type": "str", + "default_value": "unknown", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "machine_nozzle_size": { "label": "Nozzle Diameter", diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4a5211cf1c..ed83daf8d5 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -8,6 +8,7 @@ "author": "Ultimaker B.V.", "category": "Ultimaker", "manufacturer": "Ultimaker", + "setting_version": 1, "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj;application/x3g", "visible": false, "has_materials": true, @@ -41,7 +42,7 @@ }, "machine_show_variants": { - "label": "Show machine variants", + "label": "Show Machine Variants", "description": "Whether to show the different variants of this machine, which are described in separate json files.", "default_value": false, "type": "bool", @@ -79,7 +80,7 @@ }, "material_bed_temp_wait": { - "label": "Wait for build plate heatup", + "label": "Wait for Build Plate Heatup", "description": "Whether to insert a command to wait until the build plate temperature is reached at the start.", "default_value": true, "type": "bool", @@ -89,7 +90,7 @@ }, "material_print_temp_wait": { - "label": "Wait for nozzle heatup", + "label": "Wait for Nozzle Heatup", "description": "Whether to wait until the nozzle temperature is reached at the start.", "default_value": true, "type": "bool", @@ -100,7 +101,7 @@ }, "material_print_temp_prepend": { - "label": "Include material temperatures", + "label": "Include Material Temperatures", "description": "Whether to include nozzle temperature commands at the start of the gcode. When the start_gcode already contains nozzle temperature commands Cura frontend will automatically disable this setting.", "default_value": true, "type": "bool", @@ -111,7 +112,7 @@ }, "material_bed_temp_prepend": { - "label": "Include build plate temperature", + "label": "Include Build Plate Temperature", "description": "Whether to include build plate temperature commands at the start of the gcode. When the start_gcode already contains build plate temperature commands Cura frontend will automatically disable this setting.", "default_value": true, "type": "bool", @@ -121,7 +122,7 @@ }, "machine_width": { - "label": "Machine width", + "label": "Machine Width", "description": "The width (X-direction) of the printable area.", "default_value": 100, "type": "float", @@ -131,7 +132,7 @@ }, "machine_depth": { - "label": "Machine depth", + "label": "Machine Depth", "description": "The depth (Y-direction) of the printable area.", "default_value": 100, "type": "float", @@ -141,7 +142,7 @@ }, "machine_shape": { - "label": "Build plate shape", + "label": "Build Plate Shape", "description": "The shape of the build plate without taking unprintable areas into account.", "default_value": "rectangular", "type": "enum", @@ -156,7 +157,7 @@ }, "machine_height": { - "label": "Machine height", + "label": "Machine Height", "description": "The height (Z-direction) of the printable area.", "default_value": 100, "type": "float", @@ -166,7 +167,7 @@ }, "machine_heated_bed": { - "label": "Has heated build plate", + "label": "Has Heated Build Plate", "description": "Whether the machine has a heated build plate present.", "default_value": false, "type": "bool", @@ -176,7 +177,7 @@ }, "machine_center_is_zero": { - "label": "Is center origin", + "label": "Is Center Origin", "description": "Whether the X/Y coordinates of the zero position of the printer is at the center of the printable area.", "default_value": false, "type": "bool", @@ -302,8 +303,9 @@ "type": "enum", "options": { - "RepRap (Marlin/Sprinter)": "RepRap (Marlin/Sprinter)", - "RepRap (Volumatric)": "RepRap (Volumetric)", + "RepRap (Marlin/Sprinter)": "Marlin", + "RepRap (Volumatric)": "Marlin (Volumetric)", + "RepRap (RepRap)": "RepRap", "UltiGCode": "Ultimaker 2", "Griffin": "Griffin", "Makerbot": "Makerbot", @@ -406,6 +408,15 @@ "settable_per_extruder": false, "settable_per_meshgroup": false }, + "machine_nozzle_id": + { + "label": "Nozzle ID", + "description": "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\".", + "type": "str", + "default_value": "unknown", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "machine_nozzle_size": { "label": "Nozzle Diameter", @@ -654,6 +665,7 @@ "value": "line_width", "default_value": 0.4, "type": "float", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -666,8 +678,9 @@ "minimum_value_warning": "(0.1 + 0.4 * machine_nozzle_size) if outer_inset_first else 0.1 * machine_nozzle_size", "maximum_value_warning": "2 * machine_nozzle_size", "default_value": 0.4, - "value": "wall_line_width", + "value": "extruderValue(wall_0_extruder_nr, 'wall_line_width')", "type": "float", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "wall_line_width_x": @@ -681,6 +694,7 @@ "default_value": 0.4, "value": "wall_line_width", "type": "float", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -696,6 +710,7 @@ "default_value": 0.4, "type": "float", "value": "line_width", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "infill_line_width": @@ -710,6 +725,7 @@ "type": "float", "value": "line_width", "enabled": "infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "skirt_brim_line_width": @@ -772,7 +788,7 @@ "type": "float", "enabled": "support_enable and support_roof_enable", "limit_to_extruder": "support_roof_extruder_nr", - "value": "support_interface_line_width", + "value": "extruderValue(support_roof_extruder_nr, 'support_interface_line_width')", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -788,7 +804,7 @@ "type": "float", "enabled": "support_enable and support_bottom_enable", "limit_to_extruder": "support_bottom_extruder_nr", - "value": "support_interface_line_width", + "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_line_width')", "settable_per_mesh": false, "settable_per_extruder": true } @@ -831,16 +847,59 @@ "type": "category", "children": { + "wall_extruder_nr": + { + "label": "Wall Extruder", + "description": "The extruder train used for printing the walls. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "value": "-1", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1", + "children": + { + "wall_0_extruder_nr": + { + "label": "Outer Wall Extruder", + "description": "The extruder train used for printing the outer wall. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "value": "wall_extruder_nr", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1" + }, + "wall_x_extruder_nr": + { + "label": "Inner Walls Extruder", + "description": "The extruder train used for printing the inner walls. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "value": "wall_extruder_nr", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1" + } + } + }, "wall_thickness": { "label": "Wall Thickness", - "description": "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls.", + "description": "The thickness of the walls in the horizontal direction. This value divided by the wall line width defines the number of walls.", "unit": "mm", "default_value": 0.8, "minimum_value": "0", "minimum_value_warning": "line_width", "maximum_value_warning": "10 * line_width", "type": "float", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -854,6 +913,7 @@ "maximum_value_warning": "10", "type": "int", "value": "1 if magic_spiralize else max(1, round((wall_thickness - wall_line_width_0) / wall_line_width_x) + 1) if wall_thickness != 0 else 0", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true } } @@ -867,9 +927,23 @@ "default_value": 0.2, "value": "machine_nozzle_size / 2", "minimum_value": "0", - "maximum_value_warning": "machine_nozzle_size", + "maximum_value_warning": "machine_nozzle_size * 2", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, + "top_bottom_extruder_nr": + { + "label": "Top/Bottom Extruder", + "description": "The extruder train used for printing the top and bottom skin. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "value": "-1", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1" + }, "top_bottom_thickness": { "label": "Top/Bottom Thickness", @@ -880,6 +954,7 @@ "minimum_value_warning": "0.6", "maximum_value": "machine_height", "type": "float", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { @@ -894,6 +969,7 @@ "maximum_value": "machine_height", "type": "float", "value": "top_bottom_thickness", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { @@ -907,6 +983,7 @@ "type": "int", "minimum_value_warning": "2", "value": "0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4))", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } } @@ -922,6 +999,7 @@ "type": "float", "value": "top_bottom_thickness", "maximum_value": "machine_height", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { @@ -934,6 +1012,7 @@ "default_value": 6, "type": "int", "value": "999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } } @@ -952,6 +1031,7 @@ "zigzag": "Zig Zag" }, "default_value": "lines", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "top_bottom_pattern_0": @@ -967,6 +1047,7 @@ }, "default_value": "lines", "value": "top_bottom_pattern", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "skin_angles": @@ -976,6 +1057,7 @@ "type": "[int]", "default_value": "[ ]", "enabled": "top_bottom_pattern != 'concentric'", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "wall_0_inset": @@ -988,6 +1070,7 @@ "value": "(machine_nozzle_size - wall_line_width_0) / 2 if (wall_line_width_0 < machine_nozzle_size and not outer_inset_first) else 0", "minimum_value_warning": "0", "maximum_value_warning": "machine_nozzle_size", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "outer_inset_first": @@ -996,6 +1079,7 @@ "description": "Prints walls in order of outside to inside when enabled. This can help improve dimensional accuracy in X and Y when using a high viscosity plastic like ABS; however it can decrease outer surface print quality, especially on overhangs.", "type": "bool", "default_value": false, + "enabled": "wall_0_extruder_nr == wall_x_extruder_nr", "settable_per_mesh": true }, "alternate_extra_perimeter": @@ -1004,6 +1088,7 @@ "description": "Prints an extra wall at every other layer. This way infill gets caught between these extra walls, resulting in stronger prints.", "type": "bool", "default_value": false, + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "travel_compensate_overlapping_walls_enabled": @@ -1012,6 +1097,7 @@ "description": "Compensate the flow for parts of a wall being printed where there is already a wall in place.", "type": "bool", "default_value": true, + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -1022,6 +1108,7 @@ "type": "bool", "default_value": true, "value": "travel_compensate_overlapping_walls_enabled", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "travel_compensate_overlapping_walls_x_enabled": @@ -1031,6 +1118,7 @@ "type": "bool", "default_value": true, "value": "travel_compensate_overlapping_walls_enabled", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -1044,6 +1132,7 @@ "everywhere": "Everywhere" }, "default_value": "everywhere", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "xy_offset": @@ -1055,6 +1144,20 @@ "minimum_value_warning": "-1", "maximum_value_warning": "1", "default_value": 0, + "limit_to_extruder": "wall_0_extruder_nr", + "settable_per_mesh": true + }, + "xy_offset_layer_0": + { + "label": "Initial Layer Horizontal Expansion", + "description": "Amount of offset applied to all polygons in the first layer. A negative value can compensate for squishing of the first layer known as \"elephant's foot\".", + "unit": "mm", + "type": "float", + "minimum_value_warning": "-1", + "maximum_value_warning": "1", + "default_value": 0, + "value": "xy_offset", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "z_seam_type": @@ -1069,6 +1172,7 @@ "random": "Random" }, "default_value": "shortest", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "z_seam_x": @@ -1080,6 +1184,7 @@ "default_value": 100.0, "value": "machine_width / 2", "enabled": "z_seam_type == 'back'", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "z_seam_y": @@ -1091,6 +1196,18 @@ "default_value": 100.0, "value": "machine_depth * 3", "enabled": "z_seam_type == 'back'", + "limit_to_extruder": "wall_0_extruder_nr", + "settable_per_mesh": true + }, + "z_seam_relative": + { + "label": "Z Seam Relative", + "description": "When enabled, the z seam coordinates are relative to each part's centre. When disabled, the coordinates define an absolute position on the build plate.", + "unit": "mm", + "type": "bool", + "default_value": false, + "enabled": "z_seam_type == 'back'", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "skin_no_small_gaps_heuristic": @@ -1099,6 +1216,7 @@ "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, + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } } @@ -1111,6 +1229,19 @@ "type": "category", "children": { + "infill_extruder_nr": + { + "label": "Infill Extruder", + "description": "The extruder train used for printing infill. This is used in multi-extrusion.", + "type": "optional_extruder", + "default_value": "-1", + "value": "-1", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": true, + "settable_globally": true, + "enabled": "machine_extruder_count > 1" + }, "infill_sparse_density": { "label": "Infill Density", @@ -1120,6 +1251,7 @@ "default_value": 20, "minimum_value": "0", "maximum_value_warning": "100", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true, "children": { @@ -1133,6 +1265,7 @@ "minimum_value": "0", "minimum_value_warning": "infill_line_width", "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' else 1)))", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true } } @@ -1157,6 +1290,7 @@ "default_value": "grid", "enabled": "infill_sparse_density > 0", "value": "'lines' if infill_sparse_density > 25 else 'grid'", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "infill_angles": @@ -1165,79 +1299,8 @@ "description": "A list of integer line directions to use. 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 for the lines and zig zag patterns and 45 degrees for all other patterns).", "type": "[int]", "default_value": "[ ]", - "enabled": "infill_pattern != 'concentric' and infill_pattern != 'concentric_3d' and infill_pattern != 'cubicsubdiv'", - "enabled": "infill_sparse_density > 0", - "settable_per_mesh": true - }, - "spaghetti_infill_enabled": - { - "label": "Spaghetti Infill", - "description": "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable.", - "type": "bool", - "default_value": false, - "enabled": "infill_sparse_density > 0", - "settable_per_mesh": true - }, - "spaghetti_max_infill_angle": - { - "label": "Spaghetti Maximum Infill Angle", - "description": "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer.", - "unit": "°", - "type": "float", - "default_value": 10, - "minimum_value": "0", - "maximum_value": "90", - "maximum_value_warning": "45", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "settable_per_mesh": true - }, - "spaghetti_max_height": - { - "label": "Spaghetti Infill Maximum Height", - "description": "The maximum height of inside space which can be combined and filled from the top.", - "unit": "mm", - "type": "float", - "default_value": 2.0, - "minimum_value": "layer_height", - "maximum_value_warning": "10.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "settable_per_mesh": true - }, - "spaghetti_inset": - { - "label": "Spaghetti Inset", - "description": "The offset from the walls from where the spaghetti infill will be printed.", - "unit": "mm", - "type": "float", - "default_value": 0.2, - "minimum_value_warning": "0", - "maximum_value_warning": "5.0", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "settable_per_mesh": true - }, - "spaghetti_flow": - { - "label": "Spaghetti Flow", - "description": "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill.", - "unit": "%", - "type": "float", - "default_value": 20, - "minimum_value": "0", - "maximum_value_warning": "100", - "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", - "settable_per_mesh": true - }, - "sub_div_rad_mult": - { - "label": "Cubic Subdivision Radius", - "description": "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes.", - "unit": "%", - "type": "float", - "default_value": 100, - "minimum_value": "0", - "minimum_value_warning": "100", - "maximum_value_warning": "200", - "enabled": "infill_sparse_density > 0 and infill_pattern == 'cubicsubdiv'", + "enabled": "infill_pattern != 'concentric' and infill_pattern != 'concentric_3d' and infill_pattern != 'cubicsubdiv' and infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "sub_div_rad_add": @@ -1251,6 +1314,7 @@ "minimum_value_warning": "-1 * infill_line_distance", "maximum_value_warning": "5 * infill_line_distance", "enabled": "infill_sparse_density > 0 and infill_pattern == 'cubicsubdiv'", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "infill_overlap": @@ -1264,6 +1328,7 @@ "minimum_value_warning": "-50", "maximum_value_warning": "100", "enabled": "infill_sparse_density > 0 and infill_pattern != 'concentric'", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true, "children": { @@ -1276,7 +1341,7 @@ "default_value": 0.04, "minimum_value_warning": "-0.5 * machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size", - "value": "infill_line_width * infill_overlap / 100 if infill_sparse_density < 95 and infill_pattern != 'concentric' else 0", + "value": "0.5 * ( infill_line_width + (wall_line_width_x if wall_line_count > 1 else wall_line_width_0) ) * infill_overlap / 100 if infill_sparse_density < 95 and infill_pattern != 'concentric' else 0", "enabled": "infill_sparse_density > 0 and infill_pattern != 'concentric'", "settable_per_mesh": true } @@ -1293,6 +1358,7 @@ "maximum_value_warning": "100", "value": "5 if top_bottom_pattern != 'concentric' else 0", "enabled": "top_bottom_pattern != 'concentric'", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { @@ -1305,7 +1371,7 @@ "default_value": 0.02, "minimum_value_warning": "-0.5 * machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size", - "value": "skin_line_width * skin_overlap / 100 if top_bottom_pattern != 'concentric' else 0", + "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'", "settable_per_mesh": true } @@ -1322,6 +1388,7 @@ "minimum_value_warning": "0", "maximum_value_warning": "machine_nozzle_size", "enabled": "infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "infill_sparse_thickness": @@ -1336,6 +1403,7 @@ "maximum_value": "resolveOrValue('layer_height') * (1.45 if spaghetti_infill_enabled else 8)", "value": "resolveOrValue('layer_height')", "enabled": "infill_sparse_density > 0 and not spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "gradual_infill_steps": @@ -1345,9 +1413,10 @@ "default_value": 0, "type": "int", "minimum_value": "0", - "maximum_value_warning": "4", + "maximum_value_warning": "5", "maximum_value": "0 if spaghetti_infill_enabled else (999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2)))", "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv' and not spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "gradual_infill_step_height": @@ -1356,11 +1425,11 @@ "description": "The height of infill of a given density before switching to half the density.", "unit": "mm", "type": "float", - "default_value": 5.0, + "default_value": 1.5, "minimum_value": "0.0001", "minimum_value_warning": "3 * resolveOrValue('layer_height')", - "maximum_value_warning": "100", "enabled": "infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "infill_before_walls": @@ -1369,7 +1438,7 @@ "description": "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface.", "type": "bool", "default_value": true, - "enabled": "infill_sparse_density > 0", + "enabled": "infill_sparse_density > 0 and wall_extruder_nr == infill_extruder_nr", "settable_per_mesh": true }, "min_infill_area": @@ -1380,6 +1449,7 @@ "type": "float", "minimum_value": "0", "default_value": 0, + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "expand_skins_into_infill": @@ -1388,24 +1458,28 @@ "description": "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin.", "type": "bool", "default_value": false, + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { "expand_upper_skins": { - "label": "Expand Upper Skins", - "description": "Expand upper skin areas (areas with air above) so that they support infill above.", + "label": "Expand Top Skins Into Infill", + "description": "Expand the top skin areas (areas with air above) so that they support infill above.", "type": "bool", "default_value": false, "value": "expand_skins_into_infill", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "expand_lower_skins": { - "label": "Expand Lower Skins", - "description": "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below.", + "label": "Expand Bottom Skins Into Infill", + "description": "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below.", "type": "bool", "default_value": false, + "limit_to_extruder": "top_bottom_extruder_nr", + "value": "expand_skins_into_infill", "settable_per_mesh": true } } @@ -1420,6 +1494,7 @@ "value": "infill_line_distance * 1.4", "minimum_value": "0", "enabled": "expand_upper_skins or expand_lower_skins", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "max_skin_angle_for_expansion": @@ -1434,6 +1509,7 @@ "maximum_value": "90", "default_value": 20, "enabled": "expand_upper_skins or expand_lower_skins", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": { @@ -1447,6 +1523,7 @@ "value": "top_layers * layer_height / math.tan(math.radians(max_skin_angle_for_expansion))", "minimum_value": "0", "enabled": "expand_upper_skins or expand_lower_skins", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } } @@ -1482,6 +1559,7 @@ "maximum_value_warning": "285", "enabled": "machine_nozzle_temp_enabled", "settable_per_extruder": true, + "settable_per_mesh": false, "minimum_value": "-273.15" }, "material_print_temperature": @@ -1875,6 +1953,7 @@ "default_value": 60, "value": "speed_print", "enabled": "infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "speed_wall": @@ -1888,6 +1967,7 @@ "maximum_value_warning": "150", "default_value": 30, "value": "speed_print / 2", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -1902,6 +1982,7 @@ "maximum_value_warning": "150", "default_value": 30, "value": "speed_wall", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "speed_wall_x": @@ -1915,6 +1996,7 @@ "maximum_value_warning": "150", "default_value": 60, "value": "speed_wall * 2", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -1930,6 +2012,22 @@ "maximum_value_warning": "150", "default_value": 30, "value": "speed_print / 2", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "speed_ironing": + { + "label": "Ironing Speed", + "description": "The speed at which to pass over the top surface.", + "type": "float", + "unit": "mm/s", + "default_value": 20.0, + "value": "speed_topbottom * 20 / 30", + "minimum_value": "0.001", + "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", + "maximum_value_warning": "100", + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "speed_support": @@ -1975,7 +2073,7 @@ "minimum_value": "0.1", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "150", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "support_interface_enable and support_enable", "limit_to_extruder": "support_interface_extruder_nr", "value": "speed_support / 1.5", "settable_per_mesh": false, @@ -1992,9 +2090,9 @@ "minimum_value": "0.1", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "150", - "enabled": "extruderValue(support_roof_extruder_nr, 'support_roof_enable') and support_enable", + "enabled": "support_roof_enable and support_enable", "limit_to_extruder": "support_roof_extruder_nr", - "value": "speed_support_interface", + "value": "extruderValue(support_roof_extruder_nr, 'speed_support_interface')", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -2008,9 +2106,9 @@ "minimum_value": "0.1", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value_warning": "150", - "enabled": "extruderValue(support_bottom_extruder_nr, 'support_bottom_enable') and support_enable", + "enabled": "support_bottom_enable and support_enable", "limit_to_extruder": "support_bottom_extruder_nr", - "value": "speed_support_interface", + "value": "extruderValue(support_bottom_extruder_nr, 'speed_support_interface')", "settable_per_mesh": false, "settable_per_extruder": true } @@ -2127,9 +2225,9 @@ "description": "The first few layers are printed slower than the rest of the model, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers.", "type": "int", "default_value": 2, - "resolve": "sum(extruderValues('speed_slowdown_layers')) / len(extruderValues('speed_slowdown_layers'))", + "resolve": "round(sum(extruderValues('speed_slowdown_layers')) / len(extruderValues('speed_slowdown_layers')))", "minimum_value": "0", - "maximum_value_warning": "1.0 / resolveOrValue('layer_height')", + "maximum_value_warning": "3.2 / resolveOrValue('layer_height')", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -2192,6 +2290,7 @@ "default_value": 3000, "value": "acceleration_print", "enabled": "resolveOrValue('acceleration_enabled') and infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "acceleration_wall": @@ -2206,6 +2305,7 @@ "default_value": 3000, "value": "acceleration_print", "enabled": "resolveOrValue('acceleration_enabled')", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -2221,6 +2321,7 @@ "default_value": 3000, "value": "acceleration_wall", "enabled": "resolveOrValue('acceleration_enabled')", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "acceleration_wall_x": @@ -2235,6 +2336,7 @@ "default_value": 3000, "value": "acceleration_wall", "enabled": "resolveOrValue('acceleration_enabled')", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -2251,6 +2353,22 @@ "default_value": 3000, "value": "acceleration_print", "enabled": "resolveOrValue('acceleration_enabled')", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "acceleration_ironing": + { + "label": "Ironing Acceleration", + "description": "The acceleration with which ironing is performed.", + "unit": "mm/s²", + "type": "float", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", + "default_value": 3000, + "value": "acceleration_topbottom", + "enabled": "resolveOrValue('acceleration_enabled') and ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "acceleration_support": @@ -2297,7 +2415,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('acceleration_enabled') and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "resolveOrValue('acceleration_enabled') and support_interface_enable and support_enable", "limit_to_extruder": "support_interface_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true, @@ -2310,11 +2428,11 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, - "value": "acceleration_support_interface", + "value": "extruderValue(support_roof_extruder_nr, 'acceleration_support_interface')", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('acceleration_enabled') and extruderValue(support_roof_extruder_nr, 'support_roof_enable') and support_enable", + "enabled": "acceleration_enabled and support_roof_enable and support_enable", "limit_to_extruder": "support_roof_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2326,11 +2444,11 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, - "value": "acceleration_support_interface", + "value": "extruderValue(support_bottom_extruder_nr, 'acceleration_support_interface')", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "resolveOrValue('acceleration_enabled') and extruderValue(support_bottom_extruder_nr, 'support_bottom_enable') and support_enable", + "enabled": "acceleration_enabled and support_bottom_enable and support_enable", "limit_to_extruder": "support_bottom_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2464,6 +2582,7 @@ "default_value": 20, "value": "jerk_print", "enabled": "resolveOrValue('jerk_enabled') and infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "jerk_wall": @@ -2477,6 +2596,7 @@ "default_value": 20, "value": "jerk_print", "enabled": "resolveOrValue('jerk_enabled')", + "limit_to_extruder": "wall_extruder_nr", "settable_per_mesh": true, "children": { @@ -2491,6 +2611,7 @@ "default_value": 20, "value": "jerk_wall", "enabled": "resolveOrValue('jerk_enabled')", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "jerk_wall_x": @@ -2504,6 +2625,7 @@ "default_value": 20, "value": "jerk_wall", "enabled": "resolveOrValue('jerk_enabled')", + "limit_to_extruder": "wall_x_extruder_nr", "settable_per_mesh": true } } @@ -2519,6 +2641,21 @@ "default_value": 20, "value": "jerk_print", "enabled": "resolveOrValue('jerk_enabled')", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "jerk_ironing": + { + "label": "Ironing Jerk", + "description": "The maximum instantaneous velocity change while performing ironing.", + "unit": "mm/s", + "type": "float", + "minimum_value": "0.1", + "maximum_value_warning": "50", + "default_value": 20, + "value": "jerk_topbottom", + "enabled": "resolveOrValue('jerk_enabled') and ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "jerk_support": @@ -2562,7 +2699,7 @@ "value": "jerk_support", "minimum_value": "0.1", "maximum_value_warning": "50", - "enabled": "resolveOrValue('jerk_enabled') and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and support_interface_enable and support_enable", "limit_to_extruder": "support_interface_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true, @@ -2575,11 +2712,10 @@ "unit": "mm/s", "type": "float", "default_value": 20, - "value": "jerk_support_interface", + "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", "minimum_value": "0.1", - "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "resolveOrValue('jerk_enabled') and extruderValue(support_roof_extruder_nr, 'support_roof_enable') and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and support_roof_enable and support_enable", "limit_to_extruder": "support_roof_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2591,11 +2727,10 @@ "unit": "mm/s", "type": "float", "default_value": 20, - "value": "jerk_support_interface", + "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", "minimum_value": "0.1", - "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "resolveOrValue('jerk_enabled') and extruderValue(support_bottom_extruder_nr, 'support_bottom_enable') and support_enable", + "enabled": "resolveOrValue('jerk_enabled') and support_bottom_enable and support_enable", "limit_to_extruder": "support_bottom_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -2809,7 +2944,7 @@ "unit": "mm", "type": "float", "default_value": 1, - "minimum_value_warning": "0.75 * machine_nozzle_size", + "minimum_value_warning": "0", "maximum_value_warning": "10", "enabled": "retraction_enable and retraction_hop_enabled", "settable_per_mesh": false, @@ -2999,7 +3134,7 @@ "description": "The extruder train to use for printing the support. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false, "children": { @@ -3010,7 +3145,7 @@ "type": "extruder", "default_value": "0", "value": "support_extruder_nr", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3021,7 +3156,7 @@ "type": "extruder", "default_value": "0", "value": "support_extruder_nr", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3032,7 +3167,7 @@ "type": "extruder", "default_value": "0", "value": "support_extruder_nr", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false, "children": @@ -3044,7 +3179,7 @@ "type": "extruder", "default_value": "0", "value": "support_interface_extruder_nr", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3055,7 +3190,7 @@ "type": "extruder", "default_value": "0", "value": "support_interface_extruder_nr", - "enabled": "machine_extruder_count > 1", + "enabled": "support_enable and machine_extruder_count > 1", "settable_per_mesh": false, "settable_per_extruder": false } @@ -3108,7 +3243,7 @@ "zigzag": "Zig Zag" }, "default_value": "zigzag", - "enabled": true, + "enabled": "support_enable", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -3119,7 +3254,7 @@ "description": "Connect the ZigZags. This will increase the strength of the zig zag support structure.", "type": "bool", "default_value": true, - "enabled": "support_pattern == 'zigzag'", + "enabled": "support_enable and (support_pattern == 'zigzag')", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -3133,7 +3268,7 @@ "minimum_value": "0", "maximum_value_warning": "100", "default_value": 15, - "enabled": true, + "enabled": "support_enable", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3148,7 +3283,7 @@ "minimum_value": "0", "minimum_value_warning": "support_line_width", "default_value": 2.66, - "enabled": true, + "enabled": "support_enable", "value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": false, @@ -3180,7 +3315,7 @@ "default_value": 0.1, "type": "float", "enabled": "support_enable", - "value": "extruderValue(support_extruder_nr, 'support_z_distance')", + "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')", "limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr", "settable_per_mesh": true }, @@ -3192,7 +3327,7 @@ "minimum_value": "0", "maximum_value_warning": "machine_nozzle_size", "default_value": 0.1, - "value": "extruderValue(support_extruder_nr, 'support_z_distance') if resolveOrValue('support_type') == 'everywhere' else 0", + "value": "extruderValue(support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0", "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "type": "float", "enabled": "support_enable and resolveOrValue('support_type') == 'everywhere'", @@ -3235,11 +3370,11 @@ "unit": "mm", "type": "float", "minimum_value": "0", - "maximum_value_warning": "extruderValue(support_infill_extruder_nr, 'support_xy_distance')", + "maximum_value_warning": "support_xy_distance", "default_value": 0.2, "value": "machine_nozzle_size / 2", "limit_to_extruder": "support_infill_extruder_nr", - "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'", + "enabled": "support_enable and support_xy_overrides_z == 'z_overrides_xy'", "settable_per_mesh": true }, "support_bottom_stair_step_height": @@ -3301,7 +3436,7 @@ "type": "bool", "default_value": false, "limit_to_extruder": "support_interface_extruder_nr", - "enabled": true, + "enabled": "support_enable", "settable_per_mesh": true, "children": { @@ -3311,9 +3446,9 @@ "description": "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support.", "type": "bool", "default_value": false, - "value": "support_interface_enable", + "value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')", "limit_to_extruder": "support_roof_extruder_nr", - "enabled": true, + "enabled": "support_enable", "settable_per_mesh": true }, "support_bottom_enable": @@ -3322,9 +3457,9 @@ "description": "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support.", "type": "bool", "default_value": false, - "value": "support_interface_enable", + "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": true, + "enabled": "support_enable", "settable_per_mesh": true } } @@ -3337,10 +3472,10 @@ "type": "float", "default_value": 1, "minimum_value": "0", - "minimum_value_warning": "0.2 + resolveOrValue('layer_height')", + "minimum_value_warning": "0.2 + layer_height", "maximum_value_warning": "10", "limit_to_extruder": "support_interface_extruder_nr", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": true, "children": { @@ -3352,11 +3487,11 @@ "type": "float", "default_value": 1, "minimum_value": "0", - "minimum_value_warning": "0.2 + resolveOrValue('layer_height')", + "minimum_value_warning": "0.2 + layer_height", "maximum_value_warning": "10", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_height')", "limit_to_extruder": "support_roof_extruder_nr", - "enabled": "extruderValue(support_roof_extruder_nr, 'support_roof_enable')", + "enabled": "support_roof_enable and support_enable", "settable_per_mesh": true }, "support_bottom_height": @@ -3368,10 +3503,10 @@ "default_value": 1, "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_height')", "minimum_value": "0", - "minimum_value_warning": "min(0.2 + resolveOrValue('layer_height'), extruderValue(support_bottom_extruder_nr, 'support_bottom_stair_step_height'))", + "minimum_value_warning": "min(0.2 + layer_height, support_bottom_stair_step_height)", "maximum_value_warning": "10", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": "extruderValue(support_bottom_extruder_nr, 'support_bottom_enable')", + "enabled": "support_bottom_enable and support_enable", "settable_per_mesh": true } } @@ -3385,7 +3520,7 @@ "minimum_value": "0", "maximum_value_warning": "support_interface_height", "limit_to_extruder": "support_interface_extruder_nr", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": true }, "support_interface_density": @@ -3398,7 +3533,7 @@ "minimum_value": "0", "maximum_value_warning": "100", "limit_to_extruder": "support_interface_extruder_nr", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, "children": @@ -3413,7 +3548,8 @@ "minimum_value": "0", "maximum_value": "100", "limit_to_extruder": "support_roof_extruder_nr", - "enabled": "extruderValue(support_roof_extruder_nr, 'support_roof_enable')", + "enabled": "support_roof_enable and support_enable", + "value": "extruderValue(support_roof_extruder_nr, 'support_interface_density')", "settable_per_mesh": false, "settable_per_extruder": true, "children": @@ -3429,7 +3565,7 @@ "minimum_value_warning": "support_roof_line_width - 0.0001", "value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == 'grid' else (3 if support_roof_pattern == 'triangles' else 1))", "limit_to_extruder": "support_roof_extruder_nr", - "enabled": "extruderValue(support_roof_extruder_nr, 'support_roof_enable')", + "enabled": "support_roof_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -3445,7 +3581,8 @@ "minimum_value": "0", "maximum_value": "100", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": "extruderValue(support_bottom_extruder_nr, 'support_bottom_enable')", + "enabled": "support_bottom_enable and support_enable", + "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_density')", "settable_per_mesh": false, "settable_per_extruder": true, "children": @@ -3461,7 +3598,7 @@ "minimum_value_warning": "support_bottom_line_width - 0.0001", "value": "0 if support_bottom_density == 0 else (support_bottom_line_width * 100) / support_bottom_density * (2 if support_bottom_pattern == 'grid' else (3 if support_bottom_pattern == 'triangles' else 1))", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": "extruderValue(support_bottom_extruder_nr, 'support_bottom_enable')", + "enabled": "support_bottom_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -3485,7 +3622,7 @@ }, "default_value": "concentric", "limit_to_extruder": "support_interface_extruder_nr", - "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", + "enabled": "support_interface_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, "children": @@ -3505,9 +3642,9 @@ "zigzag": "Zig Zag" }, "default_value": "concentric", - "value": "support_interface_pattern", + "value": "extruderValue(support_roof_extruder_nr, 'support_interface_pattern')", "limit_to_extruder": "support_roof_extruder_nr", - "enabled": "extruderValue(support_roof_extruder_nr, 'support_roof_enable')", + "enabled": "support_roof_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -3526,9 +3663,9 @@ "zigzag": "Zig Zag" }, "default_value": "concentric", - "value": "support_interface_pattern", + "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_pattern')", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": "extruderValue(support_bottom_extruder_nr, 'support_bottom_enable')", + "enabled": "support_bottom_enable and support_enable", "settable_per_mesh": false, "settable_per_extruder": true } @@ -3555,7 +3692,7 @@ "minimum_value": "0", "minimum_value_warning": "2 * machine_nozzle_size", "maximum_value_warning": "20", - "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", + "enabled": "support_enable and support_use_towers", "settable_per_mesh": true }, "support_minimal_diameter": @@ -3569,8 +3706,8 @@ "minimum_value": "0", "minimum_value_warning": "2 * machine_nozzle_size", "maximum_value_warning": "20", - "maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')", - "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", + "maximum_value": "support_tower_diameter", + "enabled": "support_enable and support_use_towers", "settable_per_mesh": true }, "support_tower_roof_angle": @@ -3583,7 +3720,7 @@ "maximum_value": "90", "default_value": 65, "limit_to_extruder": "support_infill_extruder_nr", - "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", + "enabled": "support_enable and support_use_towers", "settable_per_mesh": true } } @@ -3596,6 +3733,17 @@ "description": "Adhesion", "children": { + "prime_blob_enable": + { + "label": "Enable Prime Blob", + "description": "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time.", + "type": "bool", + "resolve": "any(extruderValues('prime_blob_enable'))", + "default_value": true, + "settable_per_mesh": false, + "settable_per_extruder": true, + "enabled": false + }, "extruder_prime_pos_x": { "label": "Extruder Prime X Position", @@ -3635,7 +3783,7 @@ "none": "None" }, "default_value": "brim", - "resolve": "'raft' if 'raft' in extruderValues('adhesion_type') else ('brim' if 'brim' in extruderValues('adhesion_type') else 'skirt')", + "resolve": "extruderValue(adhesion_extruder_nr, 'adhesion_type')", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -3798,7 +3946,7 @@ "value": "resolveOrValue('layer_height')", "minimum_value": "0.001", "minimum_value_warning": "0.04", - "maximum_value_warning": "0.75 * extruderValue(adhesion_extruder_nr, 'machine_nozzle_size')", + "maximum_value_warning": "0.75 * machine_nozzle_size", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3813,8 +3961,8 @@ "default_value": 0.4, "value": "line_width", "minimum_value": "0.001", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.1", - "maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 2", + "minimum_value_warning": "machine_nozzle_size * 0.1", + "maximum_value_warning": "machine_nozzle_size * 2", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3828,8 +3976,8 @@ "type": "float", "default_value": 0.4, "minimum_value": "0", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_surface_line_width')", - "maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_surface_line_width') * 3", + "minimum_value_warning": "raft_surface_line_width", + "maximum_value_warning": "raft_surface_line_width * 3", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "value": "raft_surface_line_width", "settable_per_mesh": false, @@ -3846,7 +3994,7 @@ "value": "resolveOrValue('layer_height') * 1.5", "minimum_value": "0.001", "minimum_value_warning": "0.04", - "maximum_value_warning": "0.75 * extruderValue(adhesion_extruder_nr, 'machine_nozzle_size')", + "maximum_value_warning": "0.75 * machine_nozzle_size", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3861,8 +4009,8 @@ "default_value": 0.7, "value": "line_width * 2", "minimum_value": "0.001", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.5", - "maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 3", + "minimum_value_warning": "machine_nozzle_size * 0.5", + "maximum_value_warning": "machine_nozzle_size * 3", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3877,7 +4025,7 @@ "default_value": 0.9, "value": "raft_interface_line_width + 0.2", "minimum_value": "0", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_interface_line_width')", + "minimum_value_warning": "raft_interface_line_width", "maximum_value_warning": "15.0", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, @@ -3894,7 +4042,7 @@ "value": "resolveOrValue('layer_height_0') * 1.2", "minimum_value": "0.001", "minimum_value_warning": "0.04", - "maximum_value_warning": "0.75 * extruderValue(adhesion_extruder_nr, 'raft_base_line_width')", + "maximum_value_warning": "0.75 * raft_base_line_width", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3908,9 +4056,9 @@ "type": "float", "default_value": 0.8, "minimum_value": "0.001", - "value": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 2", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.5", - "maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 3", + "value": "machine_nozzle_size * 2", + "minimum_value_warning": "machine_nozzle_size * 0.5", + "maximum_value_warning": "machine_nozzle_size * 3", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, "settable_per_extruder": true, @@ -3925,7 +4073,7 @@ "default_value": 1.6, "value": "raft_base_line_width * 2", "minimum_value": "0", - "minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_base_line_width')", + "minimum_value_warning": "raft_base_line_width", "maximum_value_warning": "100", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, @@ -4215,7 +4363,7 @@ "type": "float", "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", - "default_value": 15, + "default_value": 20, "resolve": "max(extruderValues('prime_tower_size'))", "minimum_value": "0", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", @@ -4245,7 +4393,7 @@ "unit": "mm", "type": "float", "default_value": 2, - "value": "round(max(2 * min(extruderValues('prime_tower_line_width')), 0.5 * (resolveOrValue('prime_tower_size') - math.sqrt(max(0, resolveOrValue('prime_tower_size') ** 2 - max(extruderValues('prime_tower_min_volume')) / resolveOrValue('layer_height'))))), 3)", + "value": "round(max(2 * prime_tower_line_width, 0.5 * (prime_tower_size - math.sqrt(max(0, prime_tower_size ** 2 - prime_tower_min_volume / layer_height)))), 3)", "resolve": "max(extruderValues('prime_tower_wall_thickness'))", "minimum_value": "0.001", "minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width')) - 0.0001", @@ -4264,8 +4412,6 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "minimum_value_warning": "-1000", - "maximum_value_warning": "1000", "maximum_value": "machine_width / 2 if machine_center_is_zero else machine_width", "minimum_value": "resolveOrValue('prime_tower_size') - machine_width / 2 if machine_center_is_zero else resolveOrValue('prime_tower_size')", "settable_per_mesh": false, @@ -4279,8 +4425,6 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "minimum_value_warning": "-1000", - "maximum_value_warning": "1000", "maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')", "minimum_value": "machine_depth / -2 if machine_center_is_zero else 0", "settable_per_mesh": false, @@ -4321,6 +4465,19 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "prime_tower_purge_volume": + { + "label": "Prime Tower Purge Volume", + "description": "Amount of filament to be purged when wiping on the prime tower. Purging is useful for compensating the filament lost by oozing during inactivity of the nozzle.", + "type": "float", + "enabled": "resolveOrValue('prime_tower_enable') and dual_pre_wipe", + "unit": "mm³", + "default_value": 0, + "minimum_value": "0", + "maximum_value_warning": "0.5", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "ooze_shield_enabled": { "label": "Enable Ooze Shield", @@ -4411,6 +4568,7 @@ "default_value": 0.15, "minimum_value": "0", "maximum_value_warning": "1.0", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "carve_multiple_volumes": @@ -4472,6 +4630,31 @@ "settable_per_meshgroup": false, "settable_globally": false }, + "infill_mesh_order": + { + "label": "Infill Mesh Order", + "description": "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes.", + "default_value": 0, + "value": "1 if infill_mesh else 0", + "minimum_value_warning": "1", + "maximum_value_warning": "50", + "type": "int", + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": false, + "settable_globally": false + }, + "cutting_mesh": + { + "label": "Cutting Mesh", + "description": "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder.", + "type": "bool", + "default_value": false, + "settable_per_mesh": true, + "settable_per_extruder": false, + "settable_per_meshgroup": false, + "settable_globally": false + }, "mold_enabled": { "label": "Mold", @@ -4492,6 +4675,18 @@ "settable_per_mesh": true, "enabled": "mold_enabled" }, + "mold_roof_height": + { + "label": "Mold Roof Height", + "description": "The height above horizontal parts in your model which to print mold.", + "unit": "mm", + "type": "float", + "minimum_value": "0", + "maximum_value_warning": "5", + "default_value": 0.5, + "settable_per_mesh": true, + "enabled": "mold_enabled" + }, "mold_angle": { "label": "Mold Angle", @@ -4506,20 +4701,6 @@ "settable_per_mesh": true, "enabled": "mold_enabled" }, - "infill_mesh_order": - { - "label": "Infill Mesh Order", - "description": "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes.", - "default_value": 0, - "value": "1 if infill_mesh else 0", - "minimum_value_warning": "1", - "maximum_value_warning": "50", - "type": "int", - "settable_per_mesh": true, - "settable_per_extruder": false, - "settable_per_meshgroup": false, - "settable_globally": false - }, "support_mesh": { "label": "Support Mesh", @@ -4571,11 +4752,21 @@ "magic_spiralize": { "label": "Spiralize Outer Contour", - "description": "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions.", + "description": "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part.", "type": "bool", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false + }, + "smooth_spiralized_contours": + { + "label": "Smooth Spiralized Contours", + "description": "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details.", + "type": "bool", + "default_value": true, + "enabled": "magic_spiralize", + "settable_per_mesh": false, + "settable_per_extruder": false } } }, @@ -4715,6 +4906,7 @@ "minimum_value": "0", "maximum_value_warning": "10", "type": "int", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "skin_alternate_rotation": @@ -4724,6 +4916,93 @@ "type": "bool", "default_value": false, "enabled": "top_bottom_pattern != 'concentric'", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_infill_enabled": + { + "label": "Spaghetti Infill", + "description": "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable.", + "type": "bool", + "default_value": false, + "enabled": "infill_sparse_density > 0", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_infill_stepped": + { + "label": "Spaghetti Infill Stepping", + "description": "Whether to print spaghetti infill in steps or extrude all the infill filament at the end of the print.", + "type": "bool", + "default_value": true, + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_max_infill_angle": + { + "label": "Spaghetti Maximum Infill Angle", + "description": "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer.", + "unit": "°", + "type": "float", + "default_value": 10, + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "45", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_max_height": + { + "label": "Spaghetti Infill Maximum Height", + "description": "The maximum height of inside space which can be combined and filled from the top.", + "unit": "mm", + "type": "float", + "default_value": 2.0, + "minimum_value": "layer_height", + "maximum_value_warning": "10.0", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled and spaghetti_infill_stepped", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_inset": + { + "label": "Spaghetti Inset", + "description": "The offset from the walls from where the spaghetti infill will be printed.", + "unit": "mm", + "type": "float", + "default_value": 0.2, + "minimum_value_warning": "0", + "maximum_value_warning": "5.0", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_flow": + { + "label": "Spaghetti Flow", + "description": "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill.", + "unit": "%", + "type": "float", + "default_value": 20, + "minimum_value": "0", + "maximum_value_warning": "100", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", + "settable_per_mesh": true + }, + "spaghetti_infill_extra_volume": + { + "label": "Spaghetti Infill Extra Volume", + "description": "A correction term to adjust the total volume being extruded each time when filling spaghetti.", + "unit": "mm³", + "type": "float", + "default_value": 0, + "minimum_value_warning": "0", + "maximum_value_warning": "100", + "enabled": "infill_sparse_density > 0 and spaghetti_infill_enabled", + "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, "support_conical_enabled": @@ -4779,6 +5058,7 @@ "description": "Randomly jitter while printing the outer wall, so that the surface has a rough and fuzzy look.", "type": "bool", "default_value": false, + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "magic_fuzzy_skin_thickness": @@ -4791,6 +5071,7 @@ "minimum_value": "0.001", "maximum_value_warning": "wall_line_width_0", "enabled": "magic_fuzzy_skin_enabled", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true }, "magic_fuzzy_skin_point_density": @@ -4805,6 +5086,7 @@ "maximum_value_warning": "10", "maximum_value": "2 / magic_fuzzy_skin_thickness", "enabled": "magic_fuzzy_skin_enabled", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true, "children": { @@ -4820,6 +5102,7 @@ "maximum_value_warning": "10", "value": "10000 if magic_fuzzy_skin_point_density == 0 else 1 / magic_fuzzy_skin_point_density", "enabled": "magic_fuzzy_skin_enabled", + "limit_to_extruder": "wall_0_extruder_nr", "settable_per_mesh": true } } @@ -5178,6 +5461,70 @@ "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": false + }, + "ironing_enabled": + { + "label": "Enable Ironing", + "description": "Go over the top surface one additional time, but without extruding material. This is meant to melt the plastic on top further, creating a smoother surface.", + "type": "bool", + "default_value": false, + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "ironing_pattern": + { + "label": "Ironing Pattern", + "description": "The pattern to use for ironing top surfaces.", + "type": "enum", + "options": + { + "concentric": "Concentric", + "zigzag": "Zig Zag" + }, + "default_value": "zigzag", + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "ironing_line_spacing": + { + "label": "Ironing Line Spacing", + "description": "The distance between the lines of ironing.", + "type": "float", + "unit": "mm", + "default_value": 0.1, + "minimum_value": "0.001", + "maximum_value_warning": "machine_nozzle_tip_outer_diameter", + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "ironing_flow": + { + "label": "Ironing Flow", + "description": "The amount of material, relative to a normal skin line, to extrude during ironing. Keeping the nozzle filled helps filling some of the crevices of the top surface, but too much results in overextrusion and blips on the side of the surface.", + "type": "float", + "unit": "%", + "default_value": 10.0, + "minimum_value": "0", + "maximum_value_warning": "50", + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true + }, + "ironing_inset": + { + "label": "Ironing Inset", + "description": "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print.", + "type": "float", + "unit": "mm", + "default_value": 0.35, + "value": "wall_line_width_0 / 2", + "minimum_value_warning": "0", + "maximum_value_warning": "wall_line_width_0", + "enabled": "ironing_enabled", + "limit_to_extruder": "top_bottom_extruder_nr", + "settable_per_mesh": true } } }, diff --git a/resources/definitions/helloBEEprusa.def.json b/resources/definitions/helloBEEprusa.def.json old mode 100644 new mode 100755 index 90c0fc7e27..0fee04f2e9 --- a/resources/definitions/helloBEEprusa.def.json +++ b/resources/definitions/helloBEEprusa.def.json @@ -10,21 +10,28 @@ "category": "Other", "platform": "BEEVERYCREATIVE-helloBEEprusa.stl", "platform_offset": [-226, -75, -196], - "file_formats": "text/x-gcode" + "file_formats": "text/x-gcode", + "machine_extruder_trains": + { + "0": "hBp_extruder_left", + "1": "hBp_extruder_right" + } }, "overrides": { + "machine_extruder_count": { "default_value": 2 }, "machine_name": { "default_value": "hello BEE prusa" }, - "machine_start_gcode": { "default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM107 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG92 E0 ;zero the extruded length\nG1 F3600 ;set feedrate to 60 mm/sec\n; -- end of START GCODE --" }, + "machine_start_gcode": { "default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM107 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG92 E0 ;zero the extruded length\nG1 F3600 ;set feedrate to 60 mm/sec\nM420 S1 \n; -- end of START GCODE --" }, "machine_end_gcode": { "default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nM140 S0 ;set bed temperature to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nM84 ;turn off steppers\n; -- end of END GCODE --" }, "machine_width": { "default_value": 185 }, "machine_depth": { "default_value": 200 }, "machine_height": { "default_value": 190 }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, - "material_print_temperature": { "default_value": 220 }, + "material_print_temperature": { "default_value": 200 }, "material_bed_temperature": { "default_value": 60 }, "material_diameter": { "default_value": 1.75 }, + "line_width": { "default_value": 0.48 }, "layer_height": { "default_value": 0.2 }, "layer_height_0": { "default_value": 0.2 }, "wall_line_count": { "default_value": 3 }, @@ -44,7 +51,7 @@ "skirt_brim_minimal_length": { "default_value": 30 }, "skirt_gap": { "default_value": 6 }, "cool_fan_full_at_height": { "default_value": 0.4 }, - "retraction_speed": { "default_value": 50.0}, - "retraction_amount": { "default_value": 5.2} + "retraction_speed": { "default_value": 15.0}, + "retraction_amount": { "default_value": 1.5} } } \ No newline at end of file diff --git a/resources/definitions/innovo_inventor.def.json b/resources/definitions/innovo_inventor.def.json index 40a2849979..4b169c5e31 100644 --- a/resources/definitions/innovo_inventor.def.json +++ b/resources/definitions/innovo_inventor.def.json @@ -44,12 +44,6 @@ "gantry_height": { "default_value": 82.3 }, - "machine_nozzle_offset_x": { - "default_value": 0 - }, - "machine_nozzle_offset_y": { - "default_value": 15 - }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, diff --git a/resources/definitions/makeR_pegasus.def.json b/resources/definitions/makeR_pegasus.def.json index efaa3a5c3f..561486c011 100644 --- a/resources/definitions/makeR_pegasus.def.json +++ b/resources/definitions/makeR_pegasus.def.json @@ -11,11 +11,11 @@ "file_formats": "text/x-gcode", "icon": "icon_ultimaker2", "platform": "makeR_pegasus_platform.stl", - "platform_offset": [-200,-10,200] + "platform_offset": [-200, -10, 200] }, "overrides": { - "machine_name": { "default_value": " makeR Pegasus" }, + "machine_name": { "default_value": "makeR Pegasus" }, "machine_heated_bed": { "default_value": true }, @@ -54,9 +54,6 @@ "gantry_height": { "default_value": -25 }, - "machine_platform_offset":{ - "default_value":-25 - }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, diff --git a/resources/definitions/maker_starter.def.json b/resources/definitions/maker_starter.def.json index 74cdc694ee..305a35d0ca 100644 --- a/resources/definitions/maker_starter.def.json +++ b/resources/definitions/maker_starter.def.json @@ -4,6 +4,7 @@ "name": "3DMaker Starter", "inherits": "fdmprinter", "metadata": { + "visible": true, "author": "tvlgiao", "manufacturer": "3DMaker", "category": "Other", diff --git a/resources/definitions/peopoly_moai.def.json b/resources/definitions/peopoly_moai.def.json index 9c01ca95e4..4bbb033fb7 100644 --- a/resources/definitions/peopoly_moai.def.json +++ b/resources/definitions/peopoly_moai.def.json @@ -114,6 +114,12 @@ "speed_slowdown_layers": { "value": "2" }, + "infill_overlap": { + "value": "15" + }, + "adhesion_type": { + "value": "\"none\"" + }, "acceleration_enabled": { "value": "False" diff --git a/resources/definitions/rigid3d_zero2.def.json b/resources/definitions/rigid3d_zero2.def.json index 41cd2c18db..ddb98b0eb2 100644 --- a/resources/definitions/rigid3d_zero2.def.json +++ b/resources/definitions/rigid3d_zero2.def.json @@ -64,8 +64,7 @@ "default_value": 15 }, "infill_pattern": { - "default_value": "lines", - "value": "lines" + "value": "'lines'" }, "retraction_amount": { "default_value": 1 @@ -121,7 +120,7 @@ "default_value": "grid" }, "machine_start_gcode": { - "default_value": "G21\nG28 ; Home extruder\nM107 ; Turn off fan\nG91 ; Relative positioning\nG1 Z5 F180;\nG1 X100 Y100 F3000;\nG1 Z-5 F180;\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nG92 E0 ; Reset extruder position\n" + "default_value": "G21\nG28 ; Home extruder\nM420 S1 ; Enable MBL\nM107 ; Turn off fan\nG91 ; Relative positioning\nG1 Z5 F180;\nG1 X30 Y30 F3000;\nG1 Z-5 F180;\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nG92 E0 ; Reset extruder position\n" }, "machine_end_gcode": { "default_value": "G1 X0 Y180 ; Get extruder out of way.\nM107 ; Turn off fan\nG91 ; Relative positioning\nG0 Z20 ; Lift extruder up\nT0\nG1 E-1 ; Reduce filament pressure\nM104 T0 S0 ; Turn extruder heater off\nG90 ; Absolute positioning\nG92 E0 ; Reset extruder position\nM140 S0 ; Disable heated bed\nM84 ; Turn steppers off\n" diff --git a/resources/definitions/rigidbot.def.json b/resources/definitions/rigidbot.def.json index 9877b546b4..7d083bb6f5 100644 --- a/resources/definitions/rigidbot.def.json +++ b/resources/definitions/rigidbot.def.json @@ -39,7 +39,7 @@ "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { - "default_value": ";Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\n;M190 S{material_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{material_print_temperature} ;Uncomment to add your own temperature line\nG21 ;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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\n;Put printing message on LCD screen\nM117 Rigibot Printing..." + "default_value": ";Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\nG21 ;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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\n;Put printing message on LCD screen\nM117 Rigibot Printing..." }, "machine_end_gcode": { "default_value": ";End GCode\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+10 E-1 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, so the head is out of the way\nG1 Y230 F3000 ;move Y so the head is out of the way and Plate is moved forward\nM84 ;steppers off\nG90 ;absolute positioning" diff --git a/resources/definitions/tam.def.json b/resources/definitions/tam.def.json new file mode 100644 index 0000000000..6d085763ce --- /dev/null +++ b/resources/definitions/tam.def.json @@ -0,0 +1,68 @@ +{ + "id": "typeamachines", + "version": 2, + "name": "Type A Machines Series 1 2014", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "typeamachines", + "manufacturer": "typeamachines", + "category": "Other", + "file_formats": "text/x-gcode", + "platform": "tam_series1.stl", + "platform_offset": [-580.0, -6.23, 253.5], + "has_materials": false, + "supported_actions":["UpgradeFirmware"] + }, + "overrides": { + "machine_name": { "default_value": "TypeAMachines" }, + + "layer_height": { "default_value": 0.2 }, + "layer_height_0": { "default_value": 0.3 }, + "infill_sparse_density": { "default_value": 5 }, + "wall_thickness": { "default_value": 1 }, + "top_bottom_thickness": { "default_value": 1 }, + + "infill_pattern": { "value": "'tetrahedral'" }, + + "machine_width": { "default_value": 305 }, + "machine_depth": { "default_value": 305 }, + "machine_height": { "default_value": 305 }, + + "machine_heated_bed": { "default_value": true }, + "machine_head_with_fans_polygon": { "default_value": [ [ -35, 65 ], [ -35, -55 ], [ 55, 65 ], [ 55, -55 ] ] }, + "gantry_height": { "default_value": 35 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_center_is_zero": { "default_value": false }, + + "speed_print": { "default_value": 60 }, + "speed_travel": { "default_value": 200 }, + + "retraction_amount": { "default_value": 0.4 }, + "retraction_speed": { "default_value": 35}, + + "xy_offset": { "default_value": -0.01 }, + + "machine_nozzle_heat_up_speed": { "default_value": 2 }, + "machine_nozzle_cool_down_speed": { "default_value": 2 }, + + "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, + + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_tip_outer_diameter": { "default_value": 1 }, + "machine_nozzle_head_distance": { "default_value": 3 }, + "machine_nozzle_expansion_angle": { "default_value": 45 }, + + "machine_max_acceleration_x": { "default_value": 6000 }, + "machine_max_acceleration_y": { "default_value": 6000 }, + "machine_max_acceleration_z": { "default_value": 12000 }, + "machine_max_acceleration_e": { "default_value": 175 }, + + "machine_start_gcode": { + "default_value": ";-- START GCODE --\n;Sliced for Type A Machines Series 1\n;Sliced at: {day} {date} {time}\n;Basic settings:\n;Layer height: {layer_height}\n;Walls: {wall_thickness}\n;Fill: {fill_distance}\n;Print Speed: {print_speed}\n;Support: {support}\n;Retraction Speed: {retraction_speed}\n;Retraction Distance: {retraction_amount}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Settings based on: {material_profile}\nG21 ;metric values\nG90 ;absolute positioning\nG28 ;move to endstops\nG29 ;allows for auto-levelling\nG1 Z15.0 F12000 ;move the platform down 15mm\nG1 X150 Y5 F9000 ;center\nM140 S{material_bed_temperature} ;Prep Heat Bed\nM109 S{default_material_print_temperature} ;Heat To temp\nM190 S{material_bed_temperature} ;Heat Bed to temp\nG1 X150 Y5 Z0.3 ;move the platform to purge extrusion\nG92 E0 ;zero the extruded length\nG1 F200 X250 E30 ;extrude 30mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 X150 Y150 Z25 F12000 ;recenter and begin\nG1 F9000" + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + } + } +} diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index a52075fe5e..5b2f339589 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -15,7 +15,8 @@ "platform_texture": "Ultimaker2backplate.png", "platform_offset": [9, 0, 0], "has_materials": false, - "supported_actions":["UpgradeFirmware"] + "first_start_actions": ["UM2UpgradeSelection"], + "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"] }, "overrides": { "machine_name": { "default_value": "Ultimaker 2" }, diff --git a/resources/definitions/ultimaker2_extended.def.json b/resources/definitions/ultimaker2_extended.def.json index 803e9fe896..ac9d98c5eb 100644 --- a/resources/definitions/ultimaker2_extended.def.json +++ b/resources/definitions/ultimaker2_extended.def.json @@ -11,8 +11,7 @@ "file_formats": "text/x-gcode", "icon": "icon_ultimaker2.png", "platform": "ultimaker2_platform.obj", - "platform_texture": "Ultimaker2Extendedbackplate.png", - "supported_actions": ["UpgradeFirmware"] + "platform_texture": "Ultimaker2Extendedbackplate.png" }, "overrides": { diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index 5d4c898ade..5873dfbc90 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -13,6 +13,7 @@ "platform": "ultimaker2go_platform.obj", "platform_texture": "Ultimaker2Gobackplate.png", "platform_offset": [0, 0, 0], + "first_start_actions": [], "supported_actions":["UpgradeFirmware"] }, diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index 5b1c7909ba..d8169b9abb 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -16,6 +16,7 @@ "has_materials": true, "has_machine_materials": true, "has_machine_quality": true, + "first_start_actions": [], "supported_actions":["UpgradeFirmware"] }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index e17316a80b..43f1453d72 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -70,9 +70,11 @@ "machine_start_gcode": { "default_value": "" }, "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 175 }, - "prime_tower_position_y": { "default_value": 178 }, + "prime_tower_position_y": { "default_value": 177 }, "prime_tower_wipe_enabled": { "default_value": false }, + "prime_blob_enable": { "enabled": true }, + "acceleration_enabled": { "value": "True" }, "acceleration_layer_0": { "value": "acceleration_topbottom" }, "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, @@ -111,7 +113,7 @@ "material_bed_temperature_layer_0": { "maximum_value": "115" }, "material_standby_temperature": { "value": "100" }, "multiple_mesh_overlap": { "value": "0" }, - "prime_tower_enable": { "value": "True" }, + "prime_tower_enable": { "default_value": true }, "raft_airgap": { "value": "0" }, "raft_base_thickness": { "value": "0.3" }, "raft_interface_line_spacing": { "value": "0.5" }, diff --git a/resources/extruders/cartesio_extruder_0.def.json b/resources/extruders/cartesio_extruder_0.def.json index 65db56403c..9b25b366f7 100644 --- a/resources/extruders/cartesio_extruder_0.def.json +++ b/resources/extruders/cartesio_extruder_0.def.json @@ -19,7 +19,7 @@ "default_value": "\n;start extruder_0\n\nM117 printing\n" }, "machine_extruder_end_code": { - "default_value": "\nM104 T0 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_0\nM117 temp is {material_print_temp}" + "default_value": "\nM104 T0 S160\nG91\nG1 Z5 F900\nG90\nG1 X1 Y260 F9000\n;end extruder_0\nM117 temp is {material_print_temp}" } } } diff --git a/resources/extruders/cartesio_extruder_1.def.json b/resources/extruders/cartesio_extruder_1.def.json index a6f353cf73..939b1fd7c8 100644 --- a/resources/extruders/cartesio_extruder_1.def.json +++ b/resources/extruders/cartesio_extruder_1.def.json @@ -19,7 +19,7 @@ "default_value": "\n;start extruder_1\n\nM117 printing\n" }, "machine_extruder_end_code": { - "default_value": "\nM104 T1 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_1\n" + "default_value": "\nM104 T1 S160\nG91\nG1 Z5 F900\nG90\nG1 X1 Y260 F9000\n;end extruder_1\n" } } } diff --git a/resources/extruders/cartesio_extruder_2.def.json b/resources/extruders/cartesio_extruder_2.def.json index 0a2cc072f9..c4ad94f635 100644 --- a/resources/extruders/cartesio_extruder_2.def.json +++ b/resources/extruders/cartesio_extruder_2.def.json @@ -14,12 +14,12 @@ "maximum_value": "3" }, "machine_nozzle_offset_x": { "default_value": 0.0 }, - "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, "machine_extruder_start_code": { "default_value": "\n;start extruder_2\n\nM117 printing\n" }, "machine_extruder_end_code": { - "default_value": "\nM104 T2 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_2\n" + "default_value": "\nM104 T2 S160\nG91\nG1 Z5 F900\nG90\nG1 X1 Y260 F9000\n;end extruder_2\n" } } } diff --git a/resources/extruders/cartesio_extruder_3.def.json b/resources/extruders/cartesio_extruder_3.def.json index 691ef5935b..589942fc6d 100644 --- a/resources/extruders/cartesio_extruder_3.def.json +++ b/resources/extruders/cartesio_extruder_3.def.json @@ -13,13 +13,13 @@ "default_value": 3, "maximum_value": "3" }, - "machine_nozzle_offset_x": { "default_value": 24.0 }, - "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, "machine_extruder_start_code": { "default_value": "\n;start extruder_3\n\nM117 printing\n" }, "machine_extruder_end_code": { - "default_value": "\nM104 T3 S160\nG91\nG1 Z0.5 F900\nG90\nG1 X10 Y260 F9000\n;end extruder_3\n" + "default_value": "\nM104 T3 S160\nG91\nG1 Z5 F900\nG90\nG1 X1 Y260 F9000\n;end extruder_3\n" } } } diff --git a/resources/extruders/hBp_extruder_left.def.json b/resources/extruders/hBp_extruder_left.def.json new file mode 100755 index 0000000000..f250ab2d55 --- /dev/null +++ b/resources/extruders/hBp_extruder_left.def.json @@ -0,0 +1,24 @@ +{ + "id": "hBp_extruder_left", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "helloBEEprusa", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + + "extruder_prime_pos_x": { "default_value": 0 }, + "extruder_prime_pos_y": { "default_value": 0 }, + "extruder_prime_pos_z": { "default_value": 2 } + } +} diff --git a/resources/extruders/hBp_extruder_right.def.json b/resources/extruders/hBp_extruder_right.def.json new file mode 100755 index 0000000000..aa963cc35b --- /dev/null +++ b/resources/extruders/hBp_extruder_right.def.json @@ -0,0 +1,24 @@ +{ + "id": "hBp_extruder_right", + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "helloBEEprusa", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + + "extruder_prime_pos_x": { "default_value": 185 }, + "extruder_prime_pos_y": { "default_value": 0 }, + "extruder_prime_pos_z": { "default_value": 2 } + } +} diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index e9452b8b26..78b20abb6e 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -1,18 +1,19 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Cura +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"Language-Team: TEAM\n" +"Language: LANGUAGE\n" +"Lang-Code: xx\n" +"Country-Code: XX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -30,7 +31,7 @@ msgid "" "size, etc)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "" @@ -131,6 +132,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -162,18 +183,18 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "" "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "" "Unable to start a new job because the printer does not support usb printing." @@ -211,49 +232,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -334,45 +355,45 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "" "Connected over the network. Please approve the access request on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "" "The connection with the printer was lost. Check your printer to see if it is " "connected." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "" @@ -380,38 +401,38 @@ msgid "" "%s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "" "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "" @@ -419,12 +440,12 @@ msgid "" "performed on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 msgctxt "@label" msgid "" "There is a mismatch between the configuration or calibration of the printer " @@ -432,65 +453,65 @@ msgid "" "that are inserted in your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "" "The print cores and/or materials on your printer differ from those within " @@ -549,12 +570,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "" @@ -605,19 +626,19 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" +msgid "Version Upgrade 2.5 to 2.6" msgstr "" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." msgstr "" #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 @@ -675,15 +696,15 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "" "The selected material is incompatible with the selected machine or " "configuration." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "" @@ -691,13 +712,13 @@ msgid "" "errors: {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "" "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "" "Nothing to slice because none of the models fit the build volume. Please " @@ -714,8 +735,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "" @@ -740,36 +761,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "" @@ -804,11 +825,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "" + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -825,43 +853,44 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 +msgctxt "@action" +msgid "Select upgrades" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 msgctxt "@label" msgid "Ultimaker machine actions" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 msgctxt "@info:whatsthis" msgid "" "Provides machine actions for Ultimaker machines (such as bed leveling " "wizard, selecting upgrades, etc)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 -msgctxt "@action" -msgid "Select upgrades" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -887,7 +916,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -903,14 +932,25 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "" @@ -918,21 +958,25 @@ msgid "" "overwrite it?" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "" -"Unable to find a quality profile for this combination. Default settings will " -"be used instead." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "" "Failed to export profile to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "" @@ -940,14 +984,16 @@ msgid "" "failure." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "" @@ -955,201 +1001,251 @@ msgid "" "message>" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "" "The build volume height has been reduced due to the value of the \"Print " "Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock." -"

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/" "issues

\n" " " msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 -msgctxt "@label" -msgid "Printer Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 -msgctxt "@label" -msgid "X (Width)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 -msgctxt "@label" -msgid "mm" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" +msgid "Printer Settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 +msgctxt "@label" +msgid "X (Width)" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 +msgctxt "@label" +msgid "mm" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 +msgctxt "@label" msgid "Y (Depth)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "" @@ -1188,7 +1284,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1241,12 +1337,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your " @@ -1258,89 +1354,89 @@ msgid "" "Select your printer from the list below:" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "" "If your printer is not listed, read the network-printing " "troubleshooting guide" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "" @@ -1385,72 +1481,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "" @@ -1530,34 +1621,27 @@ msgid "Smoothing" msgstr "" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "" @@ -1567,128 +1651,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1755,11 +1855,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1876,7 +1971,7 @@ msgid "Printer does not accept commands" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "" @@ -1887,19 +1982,19 @@ msgid "Lost connection with the printer" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "" @@ -1934,137 +2029,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "" @@ -2100,152 +2205,207 @@ msgid "Unit" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "" -"You will need to restart the application for language changes to have effect." +msgid "Theme:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "" +"You will need to restart the application for these changes to have effect." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "" "Highlight unsupported areas of the model in red. Without support these areas " "will not print properly." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" msgid "" -"Moves the camera so the model is in the center of the view when an model is " +"Moves the camera so the model is in the center of the view when a model is " "selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "" "Should models on the platform be moved so that they no longer intersect?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "" "Should a prefix based on the printer name be added to the print job name " "automatically?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 msgctxt "@info:tooltip" msgid "" "When you have made changes to a profile and switched to a different one, a " @@ -2253,27 +2413,27 @@ msgid "" "not, or you can choose a default behaviour and never show that dialog again." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 msgctxt "@info:tooltip" msgid "" "Should anonymous data about your print be sent to Ultimaker? Note, no " @@ -2281,20 +2441,20 @@ msgid "" "stored." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "" @@ -2310,34 +2470,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "" @@ -2363,13 +2523,13 @@ msgid "Duplicate" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "" @@ -2437,64 +2597,69 @@ msgid "Export Profile" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "" "@action:label %1 is printer name, %2 is how this printer names variants, %3 " "is variant name" msgid "Printer: %1, %2: %3" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "" "Could not import material %1: %2" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "" "Failed to export material to %1: %2" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "" @@ -2509,17 +2674,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "" @@ -2631,27 +2846,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "" @@ -2730,21 +2950,21 @@ msgid "" "G-code files cannot be modified" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "" "Recommended Print Setup

Print with the recommended settings " "for the selected printer, material and quality." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "" "Custom Print Setup

Print with finegrained control over every " "last bit of the slicing process." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "" @@ -2759,6 +2979,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2854,171 +3093,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "" +msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." +msgid "&Open File(s)..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." +msgid "&New Project..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -3049,21 +3309,40 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "" +"We have found one or more project file(s) within the files you have " +"selected. You can open only one project file at a time. We suggest to only " +"import models from those files. Would you like to proceed?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -3074,96 +3353,111 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" +msgid "Save &As..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" +msgid "New project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "" +"Are you sure you want to start a new project? This will clear the build " +"plate and any unsaved settings." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" +msgid "Open File(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "" +"We have found one or more G-Code files within the files you have selected. " +"You can only open one G-Code file at a time. If you want to open a G-Code " +"file, please just select only one." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 @@ -3171,84 +3465,95 @@ msgctxt "@title:window" msgid "Save Project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" +msgid "0%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" +msgid "Empty infill will leave your model hollow with low strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" +msgid "20%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" +msgid "Light (20%) infill will give your model an average strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" +msgid "50%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" +msgid "Dense (50%) infill will give your model an above average strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" +msgid "100%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" +msgid "Solid (100%) infill will make your model completely solid." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 +msgctxt "@label" +msgid "Gradual" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 msgctxt "@label" msgid "" -"Enable support structures. These structures support parts of the model with " -"severe overhangs." +"Gradual infill will gradually increase the amount of infill towards the top." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "" +"Generate structures to support parts of the model which have overhangs. " +"Without these structures, such parts would collapse during printing." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "" "Select which extruder to use for support. This will build up supporting " @@ -3256,25 +3561,59 @@ msgid "" "mid air." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "" "Enable printing a brim or raft. This will add a flat area around or under " "your object which is easy to cut off afterwards." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" msgid "" -"Need help improving your prints? Read the Ultimaker " +"Need help improving your prints?
Read the
Ultimaker " "Troubleshooting Guides" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "" +"This is a Cura project file. Would you like to open it as a project or " +"import the models from it?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" msgid "Engine Log" @@ -3286,12 +3625,17 @@ msgctxt "@label" msgid "Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the " diff --git a/resources/i18n/de/cura.po b/resources/i18n/de/cura.po index af4a55449f..bd2a0fc5ca 100644 --- a/resources/i18n/de/cura.po +++ b/resources/i18n/de/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: de\n" +"Language-Team: German\n" +"Language: German\n" +"Lang-Code: de\n" +"Country-Code: DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Beschreibt die Durchführung der Geräteeinstellung (z. B. Druckabmessung, Düsengröße usw.)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Geräteeinstellungen" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Änderungsprotokoll anzeigen" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Profilglättfunktion" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Erstellt eine geglättete Qualität, verändert das Profil." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Einstellungen Glätten aktiv" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Das Profil wurde geglättet und aktiviert" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Über USB verbunden" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Es kann kein neuer Auftrag gestartet werden, da der Drucker beschäftigt oder nicht angeschlossen ist." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Der Drucker unterstützt keinen USB-Druck, da er die UltiGCode-Variante verwendet." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Es kann kein neuer Auftrag gestartet werden, da der Drucker keinen Druck über USB unterstützt." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Auf Wechseldatenträger speichern {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Wird auf Wechseldatenträger gespeichert {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Konnte nicht als {0} gespeichert werden: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Auf Wechseldatenträger {0} gespeichert als {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Auswerfen" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Wechseldatenträger auswerfen {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Konnte nicht auf dem Wechseldatenträger gespeichert werden {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Ausgeworfen {0}. Sie können den Datenträger jetzt sicher entfernen." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Zugriffsanforderung für den Drucker senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 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/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Über Netzwerk verbunden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 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/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Zugriffsanforderung auf den Drucker wurde abgelehnt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Zugriffsanforderungen aufgrund von Zeitüberschreitung fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Die Verbindung zum Netzwerk ist verlorengegangen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Die Verbindung zum Drucker ist verlorengegangen. Überprüfen Sie Ihren Drucker, um festzustellen, ob er verbunden ist." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Es kann kein neuer Druckauftrag gestartet werden, da der Drucker beschäftigt ist. Der aktuelle Druckerstatus lautet %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein PrinterCore in Steckplatz {0} geladen." +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein PrintCore in Steckplatz {0} geladen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein Material in Steckplatz {0} geladen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Material für Spule {0} unzureichend." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Abweichender Druckkopf (Cura: {0}, Drucker: {1}) für Extruder {2} gewählt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, 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/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Druckkern {0} ist nicht korrekt kalibriert. XY-Kalibrierung muss auf dem Drucker ausgeführt werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 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/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Konfiguration nicht übereinstimmend" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Daten werden zum Drucker gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Daten können nicht zum Drucker gesendet werden. Ist noch ein weiterer Auftrag in Bearbeitung?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Drucken wird abgebrochen..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Drucken wurde abgebrochen. Den Drucker überprüfen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Drucken wird pausiert..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Drucken wird fortgesetzt..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronisieren Ihres Druckers" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 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/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores 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." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Verwerfen" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Materialprofile" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Bietet Möglichkeiten, um XML-basierte Materialprofile zu lesen und zu schreiben." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Schichten" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 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/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Upgrade von Version 2.4 auf 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Upgrade von Version 2.5 auf 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Aktualisiert Konfigurationen von Cura 2.4 auf Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Aktualisiert Konfigurationen von Cura 2.5 auf Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-Bilddatei" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Das gewählte Material ist mit der gewählten Maschine oder Konfiguration nicht kompatibel." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, 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:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 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:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 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." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Stellt die Verbindung zum Slicing-Backend der CuraEngine her." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Schichten werden verarbeitet" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Pro Objekteinstellungen konfigurieren" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Empfohlen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Benutzerdefiniert" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF-Reader" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Ermöglicht das Lesen von 3MF-Dateien." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-Datei" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Düse" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G-Datei" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-Code parsen" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-Profil" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF-Writer" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Bietet Unterstützung für das Schreiben von 3MF-Dateien." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF-Datei" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura-Projekt 3MF-Datei" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ultimaker Maschinenabläufe" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ermöglicht Maschinenabläufe für Ultimaker Maschinen (z. B. Assistent für Bettnivellierung, Auswahl von Upgrades usw.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades wählen" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ultimaker Maschinenabläufe" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Ermöglicht Maschinenabläufe für Ultimaker Maschinen (z. B. Assistent für Bettnivellierung, Auswahl von Upgrades usw.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Ermöglicht das Importieren von Cura-Profilen." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Unbekanntes Material" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Neue Position für Objekte finden" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Innerhalb der Druckabmessung für alle Objekte konnte keine Position gefunden werden" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Datei bereits vorhanden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Die Datei {0} ist bereits vorhanden. Soll die Datei wirklich überschrieben werden?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Für diese Kombination konnte kein Qualitätsprofil gefunden werden. Daher werden die Standardeinstellungen verwendet." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Benutzerdefiniert" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Benutzerdefiniertes Material" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Export des Profils nach {0} fehlgeschlagen: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Export des Profils nach {0} fehlgeschlagen: Fehlermeldung von Writer-Plugin" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Profil wurde nach {0} exportiert" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Import des Profils aus Datei {0} fehlgeschlagen: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil erfolgreich importiert {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} hat einen unbekannten Dateityp oder ist beschädigt." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Benutzerdefiniertes Profil" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Für das Profil fehlt eine Qualitätsangabe." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Es konnte keine Qualitätsangabe {0} für die vorliegende Konfiguration gefunden werden." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Die Höhe der Druckabmessung wurde aufgrund des Wertes der Einstellung „Druckreihenfolge“ reduziert, um eine Kollision der Brücke mit den gedruckten Modellen zu verhindern." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Hoppla!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Objekte vervielfältigen und platzieren" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Crash-Bericht" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Ein schwerer Ausnahmezustand ist aufgetreten, den wir nicht beseitigen konnten!

\n

Wir hoffen, dass dieses Bild eines Kätzchens Ihren Schock etwas abschwächt.

\n

Verwenden Sie bitte die nachstehenden Informationen, um einen Fehlerbericht an folgende URL zu senden: http://github.com/Ultimaker/Cura/issues

\n " +msgstr "

Ein schwerer Ausnahmezustand ist aufgetreten, den wir nicht beseitigen konnten!

\n

Bitte senden Sie einen Fehlerbericht an folgende URL http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Webseite öffnen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Geräte werden geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Die Szene wird eingerichtet..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Die Benutzeroberfläche wird geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, 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:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, 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/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Geräteeinstellungen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Geben Sie nachfolgend bitte die korrekten Einstellungen für Ihren Drucker an:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Drucker" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Druckereinstellungen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Breite)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Tiefe)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Höhe)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Druckbettform" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Maschinenmitte ist Null" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Heizbares Bett" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "G-Code-Variante" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Druckkopfeinstellungen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Brückenhöhe" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Anzahl Extruder" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Materialdurchmesser" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Düsengröße" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "G-Code starten" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "G-Code beenden" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Düseneinstellungen" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "X-Versatz Düse" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Y-Versatz Düse" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "G-Code Extruder-Start" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "G-Code Extruder-Ende" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D-Einstellungen" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Speichern" @@ -1121,7 +1219,7 @@ msgstr "Extruder-Temperatur %1/%2 °C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Drucken" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Unbekannter Fehlercode: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Anschluss an vernetzten Drucker" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "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\nWählen Sie Ihren Drucker aus der folgenden Liste:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Hinzufügen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Bearbeiten" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Entfernen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Aktualisieren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 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/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Typ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Unbekannt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmware-Version" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 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/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Druckeradresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 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/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Aktive Skripts Nachbearbeitung ändern" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Ansichtsmodus: Schichten" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Farbschema" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materialfarbe" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Linientyp" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Kompatibilitätsmodus" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Bewegungen anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Helfer anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Gehäuse anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Füllung anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Nur obere Schichten anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "5 detaillierte Schichten oben anzeigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Oben/Unten" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Innenwand" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Glättung" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Modell drucken mit" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Einstellungen wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 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:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtern..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alle anzeigen" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Projekt öffnen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Vorhandenes aktualisieren" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Neu erstellen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Zusammenfassung – Cura-Projekt" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Druckereinstellungen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Wie soll der Konflikt im Gerät gelöst werden?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Typ" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Name" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profileinstellungen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Wie soll der Konflikt im Profil gelöst werden?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Nicht im Profil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 überschreiben" msgstr[1] "%1 überschreibt" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Ableitung von" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 überschreiben" msgstr[1] "%1, %2 überschreibt" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Materialeinstellungen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Wie soll der Konflikt im Material gelöst werden?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Sichtbarkeit einstellen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Modus" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Sichtbare Einstellungen:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 von %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Das Laden eines Projekts entfernt alle Modelle von der Druckplatte" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Öffnen" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Drucker-Upgrades wählen" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Wählen Sie bitte alle durchgeführten Upgrades für diesen Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Olsson-Block" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Benutzerdefinierte Firmware wählen" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Drucker-Upgrades wählen" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "Drucker nimmt keine Befehle an" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In Wartung. Den Drucker überprüfen" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Verbindung zum Drucker wurde unterbrochen" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Es wird gedruckt..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Pausiert" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Vorbereitung läuft..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Soll das Drucken wirklich abgebrochen werden?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Änderungen verwerfen oder übernehmen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 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.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profileinstellungen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Standard" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Angepasst" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Stets nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Verwerfen und zukünftig nicht mehr nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Übernehmen und zukünftig nicht mehr nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Verwerfen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Übernehmen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Neues Profil erstellen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Informationen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Namen anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marke" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Materialtyp" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Farbe" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Eigenschaften" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Dichte" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Durchmesser" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Filamentkosten" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Filamentgewicht" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Filamentlänge" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Kosten pro Meter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Dieses Material ist mit %1 verknüpft und teilt sich damit einige seiner Eigenschaften" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Material trennen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Beschreibung" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Haftungsinformationen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Druckeinstellungen" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Einheit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Allgemein" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Schnittstelle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Sprache:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Währung:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Die Anwendung muss neu gestartet werden, um die Spracheinstellungen zu übernehmen." +msgid "Theme:" +msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +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:280 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:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch schneiden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport-Verhalten" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 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:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Überhang anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Bewegen Sie die Kamera bis sich das Modell im Mittelpunkt der Ansicht befindet, wenn ein Modell ausgewählt ist" +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:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 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:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +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:346 +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:355 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:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 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:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 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:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 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:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Warnmeldung im G-Code-Reader anzeigen." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Warnmeldung in G-Code-Reader" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 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:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 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:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Dateien öffnen und speichern" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 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:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Große Modelle anpassen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extrem kleine Modelle skalieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 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:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 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:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 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:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 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:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +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:491 +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:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Immer nachfragen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Immer als Projekt öffnen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Modelle immer importieren" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Profil überschreiben" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privatsphäre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 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:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bei Start nach Updates suchen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonyme) Druckinformationen senden" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Drucker" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Aktivieren" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Druckertyp:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Verbindung:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Der Drucker ist nicht verbunden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Status:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Warten auf Räumen des Druckbeets" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Warten auf einen Druckauftrag" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Duplizieren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Import" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Export" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Profil exportieren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materialien" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Drucker: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Drucker: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Erstellen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplizieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Material importieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Material konnte nicht importiert werden %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Material wurde erfolgreich importiert %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Material exportieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Exportieren des Materials nach %1: %2 schlug fehl" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Material erfolgreich nach %1 exportiert" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Drucker hinzufügen" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Drucker hinzufügen" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Außenwand" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Innenwände" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Außenhaut" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Füllung" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Stützstruktur-Füllung" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Stützstruktur-Schnittstelle" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Stützstruktur" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Bewegungen" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Einzüge" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Sonstige" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00 Stunden 00 Minuten" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-Symbole" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Suchen..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 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:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Diese Einstellung weiterhin anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Sichtbarkeit der Einstellung wird konfiguriert..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Empfohlene Druckeinrichtung

Drucken mit den empfohlenen Einstellungen für den gewählten Drucker, das gewählte Material und die gewählte Qualität." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Benutzerdefinierte Druckeinrichtung

Druck mit Feineinstellung über jedem einzelnen Bereich des Schneidvorgangs." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatisch: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatisch: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Ausgewähltes Modell drucken mit:" +msgstr[1] "Ausgewählte Modelle drucken mit:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Ausgewähltes Modell multiplizieren" +msgstr[1] "Ausgewählte Modelle multiplizieren" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Anzahl Kopien" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Geschätzte verbleibende Zeit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Umschalten auf Vo&llbild-Modus" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Rückgängig machen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Wiederholen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Beenden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura konfigurieren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Drucker hinzufügen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Dr&ucker verwalten..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Materialien werden verwaltet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Profil mit aktuellen Einstellungen/Überschreibungen aktualisieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Aktuelle Änderungen verwerfen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Profil von aktuellen Einstellungen/Überschreibungen erstellen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profile verwalten..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Online-&Dokumentation anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "&Fehler melden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&Über..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "&Auswahl löschen" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "&Ausgewähltes Modell löschen" +msgstr[1] "&Ausgewählte Modelle löschen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Ausgewähltes Modell zentrieren" +msgstr[1] "Ausgewählte Modelle zentrieren" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Ausgewähltes Modell multiplizieren" +msgstr[1] "Ausgewählte Modelle multiplizieren" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Modell löschen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Modell auf Druckplatte ze&ntrieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modelle &gruppieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Gruppierung für Modelle aufheben" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Modelle &zusammenführen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Modell &multiplizieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "Alle Modelle &wählen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "Druckplatte &reinigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Alle Modelle neu &laden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Alle Modelle anordnen" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Anordnung auswählen" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Alle Modellpositionen zurücksetzen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Alle Modell&transformationen zurücksetzen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Datei öffnen..." +msgid "&Open File(s)..." +msgstr "&Datei(en) öffnen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Projekt öffnen..." +msgid "&New Project..." +msgstr "&Neues Projekt..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Engine-&Protokoll anzeigen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Konfigurationsordner anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Sichtbarkeit einstellen wird konfiguriert..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Modell multiplizieren" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicing ist nicht verfügbar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Vorbereiten" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Wählen Sie das aktive Ausgabegerät" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Datei(en) öffnen" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Es wurden eine oder mehrere Projektdatei(en) innerhalb der von Ihnen gewählten Dateien gefunden. Sie können nur eine Projektdatei auf einmal öffnen. Es wird empfohlen, nur Modelle aus diesen Dateien zu importieren. Möchten Sie fortfahren?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Alle als Modelle importieren" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Datei" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "Auswahl als Datei &speichern" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "&Alles speichern" +msgid "Save &As..." +msgstr "Speichern &Als" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Projekt speichern" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Bearbeiten" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Ansicht" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "Dr&ucker" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Als aktiven Extruder festlegen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Er&weiterungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "E&instellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Hilfe" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Datei öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Ansichtsmodus" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Datei öffnen" +msgid "New project" +msgstr "Neues Projekt" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Möchten Sie wirklich ein neues Projekt beginnen? Damit werden das Druckbett und alle nicht gespeicherten Einstellungen gelöscht." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Arbeitsbereich öffnen" +msgid "Open File(s)" +msgstr "Datei(en) öffnen" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Es wurden eine oder mehrere G-Code-Datei(en) innerhalb der von Ihnen gewählten Dateien gefunden. Sie können nur eine G-Code-Datei auf einmal öffnen. Wenn Sie eine G-Code-Datei öffnen möchten wählen Sie bitte nur eine Datei." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Projekt speichern" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extruder %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & Material" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Projektzusammenfassung beim Speichern nicht erneut anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Füllung" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Hohl" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Bei keiner (0 %) Füllung bleibt Ihr Modell hohl, was allerdings eine niedrige Festigkeit zur Folge hat" +msgid "0%" +msgstr "0 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Dünn" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Bei fehlender Füllung bleibt Ihr Modell hohl, mit einer geringen Festigkeit." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Eine dünne (20 %) Füllung gibt Ihrem Modell eine durchschnittliche Festigkeit" +msgid "20%" +msgstr "20 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Dicht" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Eine dünne (20 %) Füllung gibt Ihrem Modell eine durchschnittliche Festigkeit." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Eine dichte (50 %) Füllung gibt Ihrem Modell eine überdurchschnittliche Festigkeit" +msgid "50%" +msgstr "50 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solide" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Eine dichte (50 %) Füllung gibt Ihrem Modell eine überdurchschnittliche Festigkeit" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Eine solide (100 %) Füllung macht Ihr Modell vollständig massiv" +msgid "100%" +msgstr "100 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Stützstruktur aktivieren" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Eine solide (100 %) Füllung macht Ihr Modell vollständig massiv." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Aktivierung von Stützstrukturen. Diese Strukturen stützen Teile des Modells mit großen Überhängen." +msgid "Gradual" +msgstr "Graduell" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Die graduelle Füllung steigert die Menge der Füllung nach oben hin schrittweise." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Stützstruktur generieren" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Damit werden Strukturen zur Unterstützung von Modellteilen mit Überhängen generiert. Ohne diese Strukturen würden solche Teile während des Druckvorgangs zusammenfallen." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Extruder für Stützstruktur" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Wählen Sie, welcher Extruder für die Unterstützung verwendet wird. Dient zum Konstruieren von Stützstrukturen unter dem Modell, damit dieses nicht absinkt oder frei schwebend gedruckt wird." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Druckplattenhaftung" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Drucken eines Brim- oder Raft-Elements aktivieren. Es wird ein flacher Bereich rund um oder unter Ihrem Objekt hinzugefügt, das im Anschluss leicht abgeschnitten werden kann. " -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Sie benötigen Hilfe für Ihre Drucke? Lesen Sie die Ultimaker Anleitung für Fehlerbehebung" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Sie benötigen Hilfe für Ihre Drucke?
Lesen Sie die Ultimaker Anleitungen für Fehlerbehebung>" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Ausgewähltes Modell drucken mit %1" +msgstr[1] "Ausgewählte Modelle drucken mit %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Projektdatei öffnen" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Dies ist eine Cura-Projektdatei. Möchten Sie diese als Projekt öffnen oder die Modelle hieraus importieren?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Meine Auswahl merken" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Als Projekt öffnen" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Modelle importieren" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Klicken Sie, um die Materialkompatibilität auf Ultimaker.com zu prüfen." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,130 @@ msgid "" "Click to open the profile manager." msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Es kann kein neuer Druckauftrag gestartet werden. Kein PrinterCore in Steckplatz {0} geladen." + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Upgrade von Version 2.4 auf 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Aktualisiert Konfigurationen von Cura 2.4 auf Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Für diese Kombination konnte kein Qualitätsprofil gefunden werden. Daher werden die Standardeinstellungen verwendet." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Hoppla!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Ein schwerer Ausnahmezustand ist aufgetreten, den wir nicht beseitigen konnten!

\n" +#~ "

Wir hoffen, dass dieses Bild eines Kätzchens Ihren Schock etwas abschwächt.

\n" +#~ "

Verwenden Sie bitte die nachstehenden Informationen, um einen Fehlerbericht an folgende URL zu senden: http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Geben Sie nachfolgend bitte die korrekten Einstellungen für Ihren Drucker an:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extruder %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Modell drucken mit" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Die Anwendung muss neu gestartet werden, um die Spracheinstellungen zu übernehmen." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Bewegen Sie die Kamera bis sich das Modell im Mittelpunkt der Ansicht befindet, wenn ein Modell ausgewählt ist" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "&Auswahl löschen" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Datei öffnen..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Projekt öffnen..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Modell multiplizieren" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "&Alles speichern" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Datei öffnen" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Arbeitsbereich öffnen" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Hohl" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Bei keiner (0 %) Füllung bleibt Ihr Modell hohl, was allerdings eine niedrige Festigkeit zur Folge hat" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Dünn" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Eine dünne (20 %) Füllung gibt Ihrem Modell eine durchschnittliche Festigkeit" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Dicht" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Eine dichte (50 %) Füllung gibt Ihrem Modell eine überdurchschnittliche Festigkeit" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Solide" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Eine solide (100 %) Füllung macht Ihr Modell vollständig massiv" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Stützstruktur aktivieren" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Aktivierung von Stützstrukturen. Diese Strukturen stützen Teile des Modells mit großen Überhängen." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Sie benötigen Hilfe für Ihre Drucke? Lesen Sie die Ultimaker Anleitung für Fehlerbehebung" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Über Netzwerk verbunden mit {0}. Geben Sie die Zugriffsanforderung für den Drucker frei." diff --git a/resources/i18n/de/fdmextruder.def.json.po b/resources/i18n/de/fdmextruder.def.json.po index b7b5eca717..715e69c469 100644 --- a/resources/i18n/de/fdmextruder.def.json.po +++ b/resources/i18n/de/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: de\n" +"Language-Team: German\n" +"Language: German\n" +"Lang-Code: de\n" +"Country-Code: DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Die für das Drucken verwendete Extruder-Einheit. Diese wird für die Mehrfach-Extrusion benutzt." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Düsendurchmesser" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Der Innendurchmesser der Düse. Verwenden Sie diese Einstellung, wenn Sie eine Düse einer Nicht-Standardgröße verwenden." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/de/fdmprinter.def.json.po b/resources/i18n/de/fdmprinter.def.json.po index 8de6c64e93..87c25291c7 100644 --- a/resources/i18n/de/fdmprinter.def.json.po +++ b/resources/i18n/de/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: de\n" +"Language-Team: German\n" +"Language: German\n" +"Lang-Code: de\n" +"Country-Code: DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Stützstruktur Schnittstelle Linienbreite" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Die Breite einer Linienbreite einer einzelnen Stützstruktur-Schnittstelle." +msgid "Width of a single line of support roof or floor." +msgstr "Die Breite einer einzelnen Stützdach- oder Bodenlinie." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Breite der Stützdachlinie" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Die Breite einer einzelnen Stützdachlinie." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Stützstruktur Boden Linienbreite" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Die Breite einer Linienbreite eines einzelnen Bodens." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Eine Liste von Ganzzahl-Linienrichtungen für die Verwendung. Elemente aus der Liste werden während des Aufbaus der Schichten sequentiell verwendet und wenn das Listenende erreicht wird, beginnt die Liste von vorne. Die Listenobjekte werden durch Kommas getrennt und die gesamte Liste ist in eckige Klammern gesetzt. Standardmäßig ist eine leere Liste vorhanden, was bedeutet, dass herkömmliche Standardwinkel (45- und 135-Grad für die Linien- und Zickzack-Muster und 45-Grad für alle anderen Muster) verwendet werden." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Radius Würfel-Unterbereich" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Spaghetti-Füllung" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Ein Multiplikator des Radius von der Mitte jedes Würfels, um die Modellbegrenzungen zu überprüfen und um zu entscheiden, ob dieser Würfel unterteilt werden sollte. Höhere Werte führen zu mehr Unterbereichen, d. h. mehr kleinen Würfeln." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Drucken Sie die Füllung hier und da, sodass sich das Filament innerhalb des Objekts „chaotisch“ ringelt. Das reduziert die Druckdauer, allerdings ist das Verhalten eher unabsehbar." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Maximaler Spaghetti-Füllungswinkel" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Der maximale Winkel bezüglich der Z-Achse im Druckinnenbereich für Bereiche, die anschließend mit Spaghetti-Füllung zu füllen sind. Die Reduzierung dieses Wertes für dazu, dass stärker gewinkelte Teile in Ihrem Modell in jeder Schicht gefüllt werden." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Maximale Höhe der Spaghetti-Füllung" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Die maximale Höhe des Innenraums, die kombiniert und von oben gefüllt werden kann." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Spaghetti-Einfügung" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Der Versatz von den Wänden, von denen aus die Spaghetti-Füllung gedruckt wird." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Spaghetti-Durchfluss" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Justiert die Dichte der Spathetti-Füllung. Beachten Sie, dass die Fülldichte nur die Linienabstände des Füllmusters steuert und nicht die Menge der Extrusion für die Spaghetti-Füllung." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,23 +1274,23 @@ msgstr "Expandieren Sie Außenhautbereiche der oberen und/oder unteren Außenhau #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Obere Außenhaut expandieren" +msgid "Expand Top Skins Into Infill" +msgstr "Außenhaut oben in Füllung expandieren" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." msgstr "Expandiert die oberen Außenhautbereiche (Bereiche mit Luft darüber), sodass sie die Füllung darüber stützen." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Untere Außenhaut expandieren" +msgid "Expand Bottom Skins Into Infill" +msgstr "Außenhaut unten in Füllung expandieren" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Expandiert die unteren Außenhautbereiche (Bereiche mit Luft darunter), sodass sie durch die Füllungsschichten darüber und darunter verankert werden." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "Expandiert die Außenhautbodenbereiche (Bereiche mit Luft darunter), sodass sie durch die Füllungsschichten darüber und darunter verankert werden." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1638,8 +1699,28 @@ msgstr "Stützstruktur-Schnittstellengeschwindigkeit" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Die Geschwindigkeit, mit der die Dächer und Böden der Stützstruktur gedruckt wird. Durch das Drucken bei einer geringeren Geschwindigkeit, kann die Qualität der Überhänge verbessert werden." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Die Geschwindigkeit, mit der die Dächer und Böden der Stützstruktur gedruckt werden. Durch das Drucken bei einer geringeren Geschwindigkeit kann die Qualität der Überhänge verbessert werden." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Stützdachgeschwindigkeit" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Die Geschwindigkeit, mit der die Dächer der Stützstruktur gedruckt werden. Durch das Drucken bei einer geringeren Geschwindigkeit kann die Qualität der Überhänge verbessert werden." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Geschwindigkeit Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Die Geschwindigkeit, mit der die Böden der Stützstruktur gedruckt werden. Durch das Drucken bei einer geringeren Geschwindigkeit kann die Haftung des Stützdachs Ihres Modells verbessert werden." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Beschleunigung Stützstrukturschnittstelle" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Die Beschleunigung, mit der die Dächer und Böden der Stützstruktur gedruckt wird. Durch das Drucken bei einer geringeren Geschwindigkeit kann die Qualität der Überhänge verbessert werden." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Die Beschleunigung, mit der die Böden der Stützstruktur gedruckt wird. Durch das Drucken bei einer geringeren Beschleunigung kann die Qualität der Überhänge verbessert werden." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Beschleunigung Dachstruktur" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Die Beschleunigung, mit der die Dächer der Stützstruktur gedruckt werden. Durch das Drucken bei einer geringeren Beschleunigung kann die Qualität der Überhänge verbessert werden." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Beschleunigung Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Die Beschleunigung, mit der die Böden der Stützstruktur gedruckt werden. Durch das Drucken bei einer geringeren Beschleunigung kann die Haftung des Stützdachs verbessert werden." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,9 +2099,29 @@ msgstr "Ruckfunktion Stützstruktur-Schnittstelle" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." msgstr "Die maximale unmittelbare Geschwindigkeitsänderung, mit der die Dächer und Böden der Stützstruktur gedruckt werden." +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Ruckfunktion für Dachstruktur" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Die maximale unmittelbare Geschwindigkeitsänderung, mit der die Dächer der Stützstruktur gedruckt werden." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Ruckfunktion für Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Die maximale unmittelbare Geschwindigkeitsänderung, mit der die Böden der Stützstruktur gedruckt werden." + #: fdmprinter.def.json msgctxt "jerk_prime_tower label" msgid "Prime Tower Jerk" @@ -2328,13 +2449,13 @@ msgstr "Stützstruktur" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Stützstruktur aktivieren" +msgid "Generate Support" +msgstr "Stützstruktur generieren" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Es werden Stützstrukturen aktiviert. Diese Strukturen stützen Teile des Modells mit großen Überhängen." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Damit werden Strukturen zur Unterstützung von Modellteilen mit Überhängen generiert. Ohne diese Strukturen würden solche Teile während des Druckvorgangs zusammenfallen." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Extruder für Stützstruktur-Schnittstelle" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "Das für das Drucken der Dächer und Böden der Stützstruktur verwendete Extruder-Element. Diese wird für die Mehrfach-Extrusion benutzt." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "Das für das Drucken der Dächer und Böden der Stützstruktur verwendete Extruder-Element. Dieses wird für die Mehrfach-Extrusion benutzt." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Extruder für Dachstruktur" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Das für das Drucken der Stützdachstruktur verwendete Extruder-Element. Dieses wird für die Mehrfach-Extrusion benutzt." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Extruder für Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Das für das Drucken der Stützstruktur der Böden verwendete Extruder-Element. Dieses wird für die Mehrfach-Extrusion benutzt." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Stufenhöhe der Stützstruktur" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Die Höhe der Stufen der treppenförmigen Unterlage für die Stützstruktur des Modells. Ein niedriger Wert kann das Entfernen der Stützstruktur erschweren, ein zu hoher Wert kann jedoch zu instabilen Stützstrukturen führen." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Die Höhe der Stufen der treppenförmigen Unterlage für die Stützstruktur des Modells. Ein niedriger Wert kann das Entfernen der Stützstruktur erschweren, ein zu hoher Wert kann jedoch zu instabilen Stützstrukturen führen. Auf Null einstellen, um das Stufenverhalten zu deaktivieren." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Max. Stufenhöhe der Stützstruktur" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Die maximale Breite der Stufen der treppenförmigen Unterlage für die Stützstruktur des Modells. Ein niedriger Wert kann das Entfernen der Stützstruktur erschweren, ein zu hoher Wert kann jedoch zu instabilen Stützstrukturen führen." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Es wird eine dichte Schnittstelle zwischen dem Modell und der Stützstruktur generiert. Das erstellt eine Außenhaut oben auf der Stützstruktur, auf der das Modell gedruckt wird, und unten auf der Stützstruktur, wo diese auf dem Modell ruht." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Stützdach aktivieren" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Es wird eine dichte Materialschicht zwischen der Stützdachstruktur und dem Modell generiert. Das erstellt eine Außenhaut zwischen dem Modell und der Stützstruktur." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Stützboden aktivieren" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Es wird eine dichte Materialschicht zwischen dem Boden der Stützstruktur und dem Modell generiert. Das erstellt eine Außenhaut zwischen dem Modell und der Stützstruktur." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "Die Dicke des Stützdachs. Dies steuert die Menge an dichten Schichten o #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Dicke des Stützbodens" +msgid "Support Floor Thickness" +msgstr "Dicke der Bodenstruktur" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Die Dicke des Stützbodens. Dies steuert die Anzahl der dichten Schichten, die oben an einem Modell gedruckt werden, auf dem die Stützstruktur aufsitzt." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Die Dicke der Stützböden. Dies steuert die Anzahl der dichten Schichten, die oben an einem Modell gedruckt werden, auf dem die Stützstruktur aufsitzt." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Auflösung Stützstrukturschnittstelle" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Bei der Überprüfung, wo sich das Modell über der Stützstruktur befindet, verwenden Sie Schritte der entsprechenden Höhe. Niedrigere Werte schneiden langsamer, während höhere Werte dazu führen können, dass die normale Stützstruktur an einigen Stellen gedruckt wird, wo sie als Stützstrukturschnittstelle gedruckt werden sollte." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Bei der Überprüfung, wo sich das Modell über und unter der Stützstruktur befindet, verwenden Sie Schritte der entsprechenden Höhe. Niedrigere Werte schneiden langsamer, während höhere Werte dazu führen können, dass die normale Stützstruktur an einigen Stellen gedruckt wird, wo sie als Stützstrukturschnittstelle gedruckt werden sollte." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Dichte Stützstrukturschnittstelle" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Die Dichte des Stützstrukturdachs und -bodens wird eingestellt. Ein höherer Wert führt zu besseren Überhängen, aber die Stützstrukturen sind schwieriger zu entfernen." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Die Dichte der Stützstrukturdächer und -böden wird eingestellt. Ein höherer Wert führt zu besseren Überhängen, aber die Stützstrukturen sind schwieriger zu entfernen." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Stützstrukturschnittstelle Linienlänge" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Dichte der Dachstruktur" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Der Abstand zwischen den gedruckten Stützstrukturschnittstellenlinien. Diese Einstellung wird anhand der Dichte der Stützstrukturschnittstelle berechnet, kann aber auch separat eingestellt werden." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Die Dichte der Stützstrukturdächer wird eingestellt. Ein höherer Wert führt zu besseren Überhängen, aber die Stützstrukturen sind schwieriger zu entfernen." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Linienabstand der Dachstruktur" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Der Abstand zwischen den gedruckten Stützdachlinien. Diese Einstellung wird anhand der Dichte der Stützstruktur berechnet, kann aber auch separat eingestellt werden." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Dichte der Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Die Dichte der Stützstrukturböden wird eingestellt. Ein höherer Wert führt zu einer besseren Haftung der Stützstruktur oben am Modell." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Linienabstand der Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Der Abstand zwischen den gedruckten Stützstrukturbodenlinien. Diese Einstellung wird anhand der Dichte des Stützstrukturboden berechnet, kann aber auch separat eingestellt werden." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zickzack" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Muster des Stützdachs" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Das Muster, mit dem die Dächer der Stützstruktur gedruckt werden." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Linien" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Gitter" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Dreiecke" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Konzentrisch" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Konzentrisch 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zickzack" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Muster der Bodenstruktur" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Das Muster, mit dem die Unterseiten der Stützstruktur gedruckt werden." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Linien" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Gitter" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Dreiecke" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Konzentrisch" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Konzentrisch 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zickzack" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Haftung" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Einzugstropfen aktivieren" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Diese Funktion legt fest, ob das Filament vor dem Drucken mit einem Tropfen eingezogen wird. Wenn diese Funktion aktiviert ist, stellt der Extruder vor dem Drucken an der Düse Material bereit. Der Brim- oder Skirt-Druck kann ebenfalls als Einzug wirken; in diesem Fall kann das Ausschalten dieser Funktion Zeit einsparen." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Hier wird festgelegt, welche Mesh-Füllung in der Füllung einer anderen Mesh-Füllung ist. Eine Mesh-Füllung mit einer höheren Reihenfolge ändert die Füllung der Mesh-Füllungen mit niedrigerer Reihenfolge und normalen Meshes." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Mesh beschneiden" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Beschränkt die Menge dieses Meshs innerhalb der anderen Meshes. Sie können diese Funktion verwenden, um bestimmte Bereiche eines Mesh-Drucks mit unterschiedlichen Einstellungen und einem völlig anderen Extruder zu produzieren." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Form" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Damit werden Modelle als Form gedruckt, die gegossen werden kann, um ein Modell zu erhalten, das den Modellen des Druckbetts ähnelt." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Mindestbreite der Form" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Der Mindestabstand zwischen der Außenseite der Form und der Außenseite des Modells." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Dachhöhe der Form" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Bezeichnet die Höhe über horizontalen Teilen Ihres Modell, in der die Form gedruckt wird." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Formwinkel" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Dies bezeichnet den Winkel des Überhangs der für die Form erstellten Außenwände. 0 Grad ergibt eine vertikale Außenhaut der Form, während 90 Grad dazu führt, dass die Außenseite des Modells der Modellkontur folgt." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Dieses Netz wird verwendet, um festzulegen, welche Bereiche gestützt werden sollen. Dies kann verwendet werden, um eine Stützstruktur zu errichten." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Stütznetz ablegen" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Sorgt für Unterstützung überall unterhalb des Stütznetzes, sodass kein Überhang im Stütznetz vorhanden ist." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Spiralisieren der äußeren Konturen" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Durch Spiralisieren wird die Z-Bewegung der äußeren Kante geglättet. Dies führt zu einem konstanten Z-Anstieg des gesamten Drucks. Diese Funktion wandelt ein solides Modell in einen Druck mit Einzelwänden und einem soliden Boden um. Diese Funktion wurde bei den Vorversionen „Joris“ genannt." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Durch Spiralisieren wird die Z-Bewegung der äußeren Kante geglättet. Dies führt zu einem konstanten Z-Anstieg des gesamten Drucks. Diese Funktion wandelt ein solides Modell in einen Druck mit Einzelwänden und einem soliden Boden um. Diese Funktion sollte nur aktiviert werden, wenn jede Schicht nur ein einzelnes Teil enthält." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Spiralisieren der äußeren Konturen glätten" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Glättet die spiralförmigen Konturen, um die Sichtbarkeit der Z-Naht zu reduzieren (die Z-Naht sollte auf dem Druck kaum sichtbar sein, ist jedoch in der Schichtenansicht erkennbar). Beachten Sie, dass das Glätten dazu neigt, feine Oberflächendetails zu verwischen." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Transformationsmatrix, die beim Laden aus der Datei auf das Modell angewandt wird." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Die Breite einer Linienbreite einer einzelnen Stützstruktur-Schnittstelle." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Radius Würfel-Unterbereich" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Ein Multiplikator des Radius von der Mitte jedes Würfels, um die Modellbegrenzungen zu überprüfen und um zu entscheiden, ob dieser Würfel unterteilt werden sollte. Höhere Werte führen zu mehr Unterbereichen, d. h. mehr kleinen Würfeln." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Obere Außenhaut expandieren" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expandiert die oberen Außenhautbereiche (Bereiche mit Luft darüber), sodass sie die Füllung darüber stützen." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Untere Außenhaut expandieren" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expandiert die unteren Außenhautbereiche (Bereiche mit Luft darunter), sodass sie durch die Füllungsschichten darüber und darunter verankert werden." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Die Geschwindigkeit, mit der die Dächer und Böden der Stützstruktur gedruckt wird. Durch das Drucken bei einer geringeren Geschwindigkeit, kann die Qualität der Überhänge verbessert werden." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Die Beschleunigung, mit der die Dächer und Böden der Stützstruktur gedruckt wird. Durch das Drucken bei einer geringeren Geschwindigkeit kann die Qualität der Überhänge verbessert werden." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Die maximale unmittelbare Geschwindigkeitsänderung, mit der die Dächer und Böden der Stützstruktur gedruckt werden." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Stützstruktur aktivieren" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Es werden Stützstrukturen aktiviert. Diese Strukturen stützen Teile des Modells mit großen Überhängen." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Das für das Drucken der Dächer und Böden der Stützstruktur verwendete Extruder-Element. Diese wird für die Mehrfach-Extrusion benutzt." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Die Höhe der Stufen der treppenförmigen Unterlage für die Stützstruktur des Modells. Ein niedriger Wert kann das Entfernen der Stützstruktur erschweren, ein zu hoher Wert kann jedoch zu instabilen Stützstrukturen führen." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Dicke des Stützbodens" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Die Dicke des Stützbodens. Dies steuert die Anzahl der dichten Schichten, die oben an einem Modell gedruckt werden, auf dem die Stützstruktur aufsitzt." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Bei der Überprüfung, wo sich das Modell über der Stützstruktur befindet, verwenden Sie Schritte der entsprechenden Höhe. Niedrigere Werte schneiden langsamer, während höhere Werte dazu führen können, dass die normale Stützstruktur an einigen Stellen gedruckt wird, wo sie als Stützstrukturschnittstelle gedruckt werden sollte." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Die Dichte des Stützstrukturdachs und -bodens wird eingestellt. Ein höherer Wert führt zu besseren Überhängen, aber die Stützstrukturen sind schwieriger zu entfernen." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Stützstrukturschnittstelle Linienlänge" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Der Abstand zwischen den gedruckten Stützstrukturschnittstellenlinien. Diese Einstellung wird anhand der Dichte der Stützstrukturschnittstelle berechnet, kann aber auch separat eingestellt werden." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Durch Spiralisieren wird die Z-Bewegung der äußeren Kante geglättet. Dies führt zu einem konstanten Z-Anstieg des gesamten Drucks. Diese Funktion wandelt ein solides Modell in einen Druck mit Einzelwänden und einem soliden Boden um. Diese Funktion wurde bei den Vorversionen „Joris“ genannt." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Die Temperatur, die für das Drucken verwendet wird. Wählen Sie hier 0, um das Vorheizen manuell durchzuführen." diff --git a/resources/i18n/en/cura.po b/resources/i18n/en/cura.po index f2c3e39e81..9ad0b0a801 100644 --- a/resources/i18n/en/cura.po +++ b/resources/i18n/en/cura.po @@ -1,16 +1,16 @@ -# Cura -# Copyright (C) 2017 Ultimaker -# This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2017. +# English translations for PACKAGE package. +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2017. # msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-03-27 17:27+0200\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-05-30 15:32+0200\n" "Last-Translator: Automatically generated\n" -"Language-Team: None\n" +"Language-Team: none\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,7 +27,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Provides a way to change machine settings (such as build volume, nozzle size, etc)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Machine Settings" @@ -128,6 +128,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Show Changelog" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Profile flatener" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Create a flattend quality changes profile." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Flatten active settings" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Profile has been flattened & activated." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -158,17 +178,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Connected via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Unable to start a new job because the printer is busy or not connected." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "This printer does not support USB printing because it uses UltiGCode flavor." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Unable to start a new job because the printer does not support usb printing." @@ -205,49 +225,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Save to Removable Drive {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Saving to Removable Drive {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Could not save to {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Saved to Removable Drive {0} as {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Eject" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Eject removable device {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Could not save to removable drive {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Ejected {0}. You can now safely remove the drive." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -327,152 +347,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Send access request to the printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Connected over the network. Please approve the access request on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connected over the network." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Connected over the network. No access to control the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Access request was denied on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Access request failed due to a timeout." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "The connection with the network was lost." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "The connection with the printer was lost. Check your printer to see if it is connected." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Unable to start a new print job, printer is busy. Current printer status is %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Unable to start a new print job. No Printcore loaded in slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Unable to start a new print job. No material loaded in slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Not enough material for spool {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Are you sure you wish to print with the selected configuration?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "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." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mismatched configuration" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Sending data to printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Cancel" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Unable to send data to printer. Is another job still active?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Aborting print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Print aborted. Please check the printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausing print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Resuming print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sync with your printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Would you like to use your current printer configuration in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." @@ -526,12 +546,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Dismiss" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Material Profiles" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Provides capabilities to read and write XML-based material profiles." @@ -582,20 +602,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura does not accurately display layers when Wire Printing is enabled" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Version Upgrade 2.4 to 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Version Upgrade 2.5 to 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Upgrades configurations from Cura 2.4 to Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Upgrades configurations from Cura 2.5 to Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -652,24 +672,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF Image" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "The selected material is incompatible with the selected machine or configuration." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Unable to slice with the current settings. The following settings have errors: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Unable to slice because the prime tower or prime position(s) are invalid." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." @@ -684,8 +704,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Provides the link to the CuraEngine slicing backend." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Processing Layers" @@ -710,36 +730,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Configure Per Model Settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommended" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Custom" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF Reader" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Provides support for reading 3MF files." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF File" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" @@ -774,11 +794,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G File" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing G-code" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "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." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -795,41 +820,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura Profile" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF Writer" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Provides support for writing 3MF files." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF file" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura Project 3MF file" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ultimaker machine actions" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Select upgrades" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ultimaker machine actions" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -855,7 +881,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Provides support for importing Cura profiles." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -871,243 +897,312 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Unknown material" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Finding new location for objects" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Unable to find a location within the build volume for all objects" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "File Already Exists" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "The file {0} already exists. Are you sure you want to overwrite it?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Unable to find a quality profile for this combination. Default settings will be used instead." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Custom" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Custom Material" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Failed to export profile to {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Failed to export profile to {0}: Writer plugin reported failure." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Exported profile to {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Failed to import profile from {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Successfully imported profile {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profile {0} has an unknown file type or is corrupted." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Custom profile" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Profile is missing a quality type." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Could not find a quality type {0} for the current configuration." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oops!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Multiplying and placing objects" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Crash Report" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " msgstr "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Open Web Page" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Loading machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Setting up scene..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Loading interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Only one G-code file can be loaded at a time. Skipped importing {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Can't open any other file if G-code is loading. Skipped importing {0}" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Machine Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Please enter the correct settings for your printer below:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Printer" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Printer Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Width)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Depth)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Height)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Build Plate Shape" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Machine Center is Zero" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Heated Bed" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "GCode Flavor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Printhead Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Gantry height" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Number of Extruders" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Material Diameter" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Nozzle size" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Start Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "End Gcode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Nozzle Settings" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Nozzle offset X" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Nozzle offset Y" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Extruder Start Gcode" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Extruder End Gcode" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D Settings" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Save" @@ -1146,7 +1241,7 @@ msgstr "Print" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1199,12 +1294,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Unknown error code: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connect to Networked Printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1215,87 +1310,87 @@ msgstr "" "\n" "Select your printer from the list below:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Add" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Edit" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Remove" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Refresh" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "If your printer is not listed, read the network-printing troubleshooting guide" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Unknown" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmware version" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Address" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "The printer at this address has not yet responded." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Connect" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Printer Address" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Enter the IP address or hostname of your printer on the network." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1340,72 +1435,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Change active post-processing scripts" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "View Mode: Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Color scheme" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Material Color" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Line Type" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Compatibility Mode" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Show Travels" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Show Helpers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Show Shell" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Show Infill" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Only Show Top Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Show 5 Detailed Layers On Top" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Top / Bottom" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Inner Wall" @@ -1481,34 +1571,27 @@ msgid "Smoothing" msgstr "Smoothing" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Print model with" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Select settings" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Select Settings to Customize for this model" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filter..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Show all" @@ -1518,128 +1601,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Open Project" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Update existing" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Create new" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Summary - Cura Project" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Printer settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "How should the conflict in the machine be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Name" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profile settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "How should the conflict in the profile be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Not in profile" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 override" msgstr[1] "%1 overrides" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivative from" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 override" msgstr[1] "%1, %2 overrides" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Material settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "How should the conflict in the material be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Setting visibility" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Mode" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Visible settings:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 out of %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Loading a project will clear all models on the buildplate" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Open" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Select Printer Upgrades" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Please select any upgrades made to this Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Olsson Block" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1695,11 +1794,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Select custom firmware" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Select Printer Upgrades" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1814,7 +1908,7 @@ msgid "Printer does not accept commands" msgstr "Printer does not accept commands" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In maintenance. Please check the printer" @@ -1825,19 +1919,19 @@ msgid "Lost connection with the printer" msgstr "Lost connection with the printer" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Printing..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Paused" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparing..." @@ -1872,12 +1966,12 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Are you sure you want to abort the print?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Discard or Keep changes" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" @@ -1886,125 +1980,135 @@ msgstr "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profile settings" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Default" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Customized" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Always ask me this" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Discard and never ask again" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Keep and never ask again" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Discard" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Keep" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Create New Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Information" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Display Name" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Brand" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Material Type" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Color" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Properties" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Density" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diameter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Filament Cost" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Filament weight" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Filament length" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Cost per Meter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "This material is linked to %1 and shares some of its properties." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Unlink Material" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Description" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Adhesion Information" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Print settings" @@ -2040,185 +2144,240 @@ msgid "Unit" msgstr "Unit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "General" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Language:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Currency:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "You will need to restart the application for language changes to have effect." +msgid "Theme:" +msgstr "Theme:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "You will need to restart the application for these changes to have effect." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Slice automatically when changing settings." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Slice automatically" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport behavior" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Display overhang" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Moves the camera so the model is in the center of the view when an model is selected" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "Moves the camera so the model is in the center of the view when a model is selected" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Center camera when item is selected" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "Should the default zoom behavior of cura be inverted?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Invert the direction of camera zoom." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Should models on the platform be moved so that they no longer intersect?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Ensure models are kept apart" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Should models on the platform be moved down to touch the build plate?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automatically drop models to the build plate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Show caution message in gcode reader." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Caution message in gcode reader" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Should layer be forced into compatibility mode?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Force layer view compatibility mode (restart required)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Opening and saving files" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Should models be scaled to the build volume if they are too large?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Scale large models" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Scale extremely small models" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Should a prefix based on the printer name be added to the print job name automatically?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Add machine prefix to job name" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Should a summary be shown when saving a project file?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Show summary dialog when saving project" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Default behavior when opening a project file" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Default behavior when opening a project file: " + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Always ask" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Always open as a project" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Always import models" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "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." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Override Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Should Cura check for updates when the program is started?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Check for updates on start" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Send (anonymous) print information" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Printers" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Activate" @@ -2234,34 +2393,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Printer type:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Connection:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "The printer is not connected." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "State:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Waiting for someone to clear the build plate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Waiting for a printjob" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiles" @@ -2287,13 +2446,13 @@ msgid "Duplicate" msgstr "Duplicate" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Import" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Export" @@ -2359,60 +2518,65 @@ msgid "Export Profile" msgstr "Export Profile" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materials" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Printer: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Printer: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Create" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplicate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Import Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Could not import material %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Successfully imported material %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Export Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Failed to export material to %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Successfully exported material to %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Add Printer" @@ -2427,17 +2591,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Add Printer" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Outer Wall" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Inner Walls" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Skin" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Infill" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Support Infill" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Support Interface" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Support" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Travel" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retractions" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Other" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00h 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2551,27 +2765,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG icons" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Search..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copy value to all extruders" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Hide this setting" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Don't show this setting" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Keep this setting visible" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configure setting visiblity..." @@ -2653,17 +2872,17 @@ msgstr "" "Print Setup disabled\n" "G-code files cannot be modified" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatic: %1" @@ -2678,6 +2897,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatic: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Print Selected Model With:" +msgstr[1] "Print Selected Models With:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiply Selected Model" +msgstr[1] "Multiply Selected Models" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Number of Copies" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2768,171 +3006,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Estimated time left" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Toggle Fu&ll Screen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Undo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Redo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Quit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configure Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Add Printer..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Manage Pr&inters..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Manage Materials..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Update profile with current settings/overrides" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Discard current changes" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Create profile from current settings/overrides..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Manage Profiles..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Show Online &Documentation" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Report a &Bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&About..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Delete &Selection" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Delete &Selected Model" +msgstr[1] "Delete &Selected Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Center Selected Model" +msgstr[1] "Center Selected Models" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiply Selected Model" +msgstr[1] "Multiply Selected Models" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Delete Model" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&nter Model on Platform" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Group Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Ungroup Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Merge Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiply Model..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Select All Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Clear Build Plate" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Re&load All Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Arrange All Models" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Arrange Selection" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reset All Model Positions" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Reset All Model &Transformations" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Open File..." +msgid "&Open File(s)..." +msgstr "&Open File(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Open Project..." +msgid "&New Project..." +msgstr "&New Project..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Show Engine &Log..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Show Configuration Folder" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configure setting visibility..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Multiply Model" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2963,21 +3222,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicing unavailable" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Prepare" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancel" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Select the active output device" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Open file(s)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Import all as models" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2988,197 +3263,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Save Selection to File" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Save &All" +msgid "Save &As..." +msgstr "Save &As..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Save project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Edit" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&View" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Settings" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Printer" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profile" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Set as Active Extruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensions" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&references" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Open File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "View Mode" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Settings" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Open file" +msgid "New project" +msgstr "New project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Open workspace" +msgid "Open File(s)" +msgstr "Open File(s)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Save Project" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extruder %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & material" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Don't show project summary on save again" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Infill" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Hollow" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "No (0%) infill will leave your model hollow at the cost of low strength" +msgid "0%" +msgstr "0%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Light" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Empty infill will leave your model hollow with low strength." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Light (20%) infill will give your model an average strength" +msgid "20%" +msgstr "20%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Dense" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Light (20%) infill will give your model an average strength." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Dense (50%) infill will give your model an above average strength" +msgid "50%" +msgstr "50%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solid" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Dense (50%) infill will give your model an above average strength." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Solid (100%) infill will make your model completely solid" +msgid "100%" +msgstr "100%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Enable Support" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Solid (100%) infill will make your model completely solid." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Enable support structures. These structures support parts of the model with severe overhangs." +msgid "Gradual" +msgstr "Gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Gradual infill will gradually increase the amount of infill towards the top." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Generate Support" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Support Extruder" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Build Plate Adhesion" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Print Selected Model with %1" +msgstr[1] "Print Selected Models With %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Open project file" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "This is a Cura project file. Would you like to open it as a project or import the models from it?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Remember my choice" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Open as project" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Import models" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3191,12 +3518,17 @@ msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Click to check the material compatibility on Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profile:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" diff --git a/resources/i18n/es/cura.po b/resources/i18n/es/cura.po index 3c52f5d65a..82628cc5ca 100644 --- a/resources/i18n/es/cura.po +++ b/resources/i18n/es/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: es\n" +"Language-Team: Spanish\n" +"Language: Spanish\n" +"Lang-Code: es\n" +"Country-Code: ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Permite cambiar los ajustes de la máquina (como el volumen de impresión, el tamaño de la tobera, etc.)." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Ajustes de la máquina" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Mostrar registro de cambios" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Aplanador de perfil" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Crear un perfil de cambios de calidad aplanado." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Aplanar ajustes activos" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "El perfil se ha aplanado y activado." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Conectado mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "No se puede iniciar un trabajo nuevo porque la impresora está ocupada o no está conectada." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Esta impresora no es compatible con la impresión USB porque utiliza el tipo UltiGCode." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "No se puede iniciar un trabajo nuevo porque la impresora no es compatible con la impresión USB." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Guardar en unidad extraíble {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Guardando en unidad extraíble {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "No se pudo guardar en {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Guardado en unidad extraíble {0} como {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Expulsar" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Expulsar dispositivo extraíble {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "No se pudo guardar en unidad extraíble {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Expulsado {0}. Ahora puede retirar de forma segura la unidad." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ 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/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 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/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado a través de la red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 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/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Solicitud de acceso denegada en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Se ha producido un error al solicitar acceso porque se ha agotado el tiempo de espera." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Se ha perdido la conexión de red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Se ha perdido la conexión con la impresora. Compruebe que la impresora está conectada." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "No se puede iniciar un trabajo nuevo de impresión, la impresora está ocupada. El estado actual de la impresora es %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "No se puede iniciar un trabajo nuevo de impresión. No se ha cargado ningún PrintCore en la ranura {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "No se puede iniciar un trabajo nuevo de impresión. No se ha cargado material en la ranura {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "No hay suficiente material para la bobina {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Print core distinto (Cura: {0}, impresora: {1}) seleccionado para extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, 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/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "El PrintCore {0} no está calibrado correctamente. Debe llevarse a cabo una calibración XY de la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 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/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuración desajustada" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando datos a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "No se puede enviar datos a la impresora. ¿Hay otro trabajo que todavía esté activo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Cancelando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Impresión cancelada. Compruebe la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Reanudando impresión..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar con la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 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/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "Los print cores o los materiales de la impresora difieren de los del proyecto actual. Para obtener el mejor resultado, segmente siempre los print cores y materiales que se hayan insertado en la impresora." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Descartar" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Perfiles de material" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Permite leer y escribir perfiles de material basados en XML." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Capas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 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/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Actualización de la versión 2.4 a la 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Actualización de la versión 2.5 a la 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Actualiza la configuración de Cura 2.4 a Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Actualiza la configuración de Cura 2.5 a Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagen GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "El material seleccionado no es compatible con la máquina o la configuración seleccionada." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, 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:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 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:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 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." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Proporciona el vínculo para el backend de segmentación de CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Procesando capas" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Configurar ajustes por modelo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "Lector de 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Proporciona asistencia para leer archivos 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Archivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Tobera" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Archivo G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizar GCode" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil de cura" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "Escritor de 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Proporciona asistencia para escribir archivos 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "Archivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Archivo 3MF del proyecto de Cura" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Acciones de la máquina Ultimaker" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Proporciona las acciones de la máquina de las máquinas Ultimaker (como un asistente para la nivelación de la plataforma, la selección de actualizaciones, etc.)." - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Seleccionar actualizaciones" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Acciones de la máquina Ultimaker" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Proporciona las acciones de la máquina de las máquinas Ultimaker (como un asistente para la nivelación de la plataforma, la selección de actualizaciones, etc.)." + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Proporciona asistencia para la importación de perfiles de Cura." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Material desconocido" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Buscando nueva ubicación para los objetos" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "No se puede encontrar una ubicación dentro del volumen de impresión para todos los objetos" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "El archivo ya existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "El archivo {0} ya existe. ¿Está seguro de que desea sobrescribirlo?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "No se puede encontrar el perfil de calidad de esta combinación. Se utilizarán los ajustes predeterminados." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Material personalizado" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Error al exportar el perfil a {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Error al exportar el perfil a {0}: Error en el complemento de escritura." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Perfil exportado a {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Error al importar el perfil de {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado correctamente" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "El perfil {0} tiene un tipo de archivo desconocido o está corrupto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Al perfil le falta un tipo de calidad." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "No se ha podido encontrar un tipo de calidad {0} para la configuración actual." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "La altura del volumen de impresión se ha reducido debido al valor del ajuste «Secuencia de impresión» para evitar que el caballete colisione con los modelos impresos." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "¡Vaya!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Multiplicar y colocar objetos" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Informe del accidente" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Se ha producido una excepción fatal de la que no podemos recuperarnos.

\n

Esperamos que la imagen de este gatito le ayude a recuperarse del shock.

\n

Use la siguiente información para enviar un informe de error a http://github.com/Ultimaker/Cura/issues

\n " +msgstr "

Se ha producido una excepción fatal de la que no podemos recuperarnos.

\n

Use la siguiente información para enviar un informe de error a http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Abrir página web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Cargando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando escena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Cargando interfaz..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, 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:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, 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/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Ajustes de la máquina" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Introduzca los ajustes correctos de la impresora a continuación:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Impresora" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Ajustes de la impresora" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (anchura)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (profundidad)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (altura)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Forma de la placa de impresión" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "El centro de la máquina es cero." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Plataforma caliente" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "Tipo de GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Ajustes del cabezal de impresión" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X mín." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y mín." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X máx." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y máx." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Altura del caballete" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Número de extrusores" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Diámetro del material" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Tamaño de la tobera" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Iniciar GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Finalizar GCode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Ajustes de la tobera" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Desplazamiento de la tobera sobre el eje X" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Desplazamiento de la tobera sobre el eje Y" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "GCode inicial del extrusor" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "GCode final del extrusor" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Ajustes de Doodle3D" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Guardar" @@ -1121,7 +1219,7 @@ msgstr "Temperatura del extrusor: %1/%2 °C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Código de error desconocido: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar con la impresora en red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "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\nSeleccione la impresora de la siguiente lista:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Agregar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Eliminar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Actualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 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/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Desconocido" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versión de firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Dirección" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 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/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Dirección de la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 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/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Aceptar" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Cambia las secuencias de comandos de posprocesamiento." -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Ver modo: Capas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Combinación de colores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Color del material" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo de línea" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modo de compatibilidad" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extrusor %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Mostrar desplazamientos" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Mostrar asistentes" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Mostrar perímetro" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Mostrar relleno" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Mostrar solo capas superiores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Mostrar cinco capas detalladas en la parte superior" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Superior o inferior" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Pared interior" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Suavizado" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "Aceptar" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Imprimir modelo con" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Seleccionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 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:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar todo" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Abrir proyecto" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Actualizar existente" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Crear nuevo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Resumen: proyecto de Cura" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Ajustes de la impresora" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "¿Cómo debería solucionarse el conflicto en la máquina?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Nombre" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Ajustes del perfil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "¿Cómo debería solucionarse el conflicto en el perfil?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "No está en el perfil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 sobrescrito" msgstr[1] "%1 sobrescritos" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivado de" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 sobrescrito" msgstr[1] "%1, %2 sobrescritos" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Ajustes del material" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "¿Cómo debería solucionarse el conflicto en el material?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Visibilidad de los ajustes" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Modo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Ajustes visibles:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 de un total de %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Si carga un proyecto, se borrarán todos los modelos de la placa de impresión." -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Abrir" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Seleccionar actualizaciones de impresora" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Seleccione cualquier actualización de este Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Bloque Olsson" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Seleccionar firmware personalizado" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Seleccionar actualizaciones de impresora" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "La impresora no acepta comandos." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "En mantenimiento. Compruebe la impresora." @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Se ha perdido la conexión con la impresora." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Imprimiendo..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "En pausa" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparando..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "¿Está seguro de que desea cancelar la impresión?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Descartar o guardar cambios" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 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?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Ajustes del perfil" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Valor predeterminado" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Valor personalizado" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Preguntar siempre" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Descartar y no volver a preguntar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Guardar y no volver a preguntar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Descartar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Guardar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Crear nuevo perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Información" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Mostrar nombre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marca" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Tipo de material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Color" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Propiedades" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Densidad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diámetro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Coste del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Anchura del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Longitud del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Coste por metro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Este material está vinculado a %1 y comparte alguna de sus propiedades." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Desvincular material" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Descripción" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Información sobre adherencia" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Ajustes de impresión" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Unidad" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "General" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interfaz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Moneda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Tendrá que reiniciar la aplicación para que tengan efecto los cambios del idioma." +msgid "Theme:" +msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +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:280 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:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Segmentar automáticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamiento de la ventanilla" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 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:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Mostrar voladizos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" +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:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 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:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +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:346 +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:355 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:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 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:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 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:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 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:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Mostrar mensaje de advertencia en el lector de GCode." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Mensaje de advertencia en el lector de GCode" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 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:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 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:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrir y guardar archivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 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:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Escalar modelos de gran tamaño" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Escalar modelos demasiado pequeños" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 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:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 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:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 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:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 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:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +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:491 +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:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Preguntar siempre" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Abrir siempre como un proyecto" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Importar modelos siempre" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Anular perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacidad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 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:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Buscar actualizaciones al iniciar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar información (anónima) de impresión" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Impresoras" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Activar" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Tipo de impresora:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Conexión:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La impresora no está conectada." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Estado:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Esperando a que alguien limpie la placa de impresión..." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Esperando un trabajo de impresión..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfiles" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Duplicado" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Importar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Exportar" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Exportar perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materiales" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Impresora: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Impresora: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Crear" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplicado" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Importar material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "No se pudo importar el material en %1: %2." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "El material se ha importado correctamente en %1." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Exportar material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Se ha producido un error al exportar el material a %1: %2." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "El material se ha exportado correctamente a %1." #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Agregar impresora" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Agregar impresora" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Pared exterior" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Paredes interiores" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Forro" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Relleno" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Relleno de soporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interfaz de soporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Soporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Desplazamiento" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retracciones" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Otro" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00h 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m/~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "Iconos SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Buscar..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 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:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "No mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurar la visibilidad de los ajustes..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuración de impresión recomendada

Imprimir con los ajustes recomendados para la impresora, el material y la calidad seleccionados." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuración de impresión personalizada

Imprimir con un control muy detallado del proceso de segmentación." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automático: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automático: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Imprimir modelo seleccionado con:" +msgstr[1] "Imprimir modelos seleccionados con:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplicar modelo seleccionado" +msgstr[1] "Multiplicar modelos seleccionados" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Número de copias" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tiempo restante estimado" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "A<ernar pantalla completa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Des&hacer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Rehacer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Salir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurar Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Agregar impresora..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Adm&inistrar impresoras ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Administrar materiales..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Actualizar perfil con ajustes o sobrescrituras actuales" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Descartar cambios actuales" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Crear perfil a partir de ajustes o sobrescrituras actuales..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Administrar perfiles..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Mostrar &documentación en línea" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Informar de un &error" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&Acerca de..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Eliminar &selección" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Eliminar modelo &seleccionado" +msgstr[1] "Eliminar modelos &seleccionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Centrar modelo seleccionado" +msgstr[1] "Centrar modelos seleccionados" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplicar modelo seleccionado" +msgstr[1] "Multiplicar modelos seleccionados" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Eliminar modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntrar modelo en plataforma" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "A&grupar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Co&mbinar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplicar modelo..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Seleccionar todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Borrar placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "&Recargar todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Organizar todos los modelos" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Organizar selección" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Restablecer las posiciones de todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Restablecer las &transformaciones de todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Abrir archivo..." +msgid "&Open File(s)..." +msgstr "&Abrir archivo(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "A&brir proyecto..." +msgid "&New Project..." +msgstr "&Nuevo proyecto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "&Mostrar registro del motor..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Mostrar carpeta de configuración" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar visibilidad de los ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Multiplicar modelo" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "No se puede segmentar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Seleccione el dispositivo de salida activo" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Abrir archivo(s)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Hemos encontrado uno o más archivos del proyecto entre los archivos que ha seleccionado. Solo puede abrir los archivos de proyecto de uno en uno. Le recomendamos que solo importe modelos de esos archivos. ¿Desea continuar?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Importar todos como modelos" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Archivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "Guardar &selección en archivo" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Guardar &todo" +msgid "Save &As..." +msgstr "Guardar &como..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Guardar proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Edición" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "A&justes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Impresora" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Definir como extrusor activo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensiones" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Pre&ferencias" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "A&yuda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Abrir archivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Ver modo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Abrir archivo" +msgid "New project" +msgstr "Nuevo proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "¿Está seguro de que desea iniciar un nuevo proyecto? Esto borrará la placa de impresión y cualquier ajuste no guardado." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Abrir área de trabajo" +msgid "Open File(s)" +msgstr "Abrir archivo(s)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Hemos encontrado uno o más archivos de GCode entre los archivos que ha seleccionado. Solo puede abrir los archivos GCode de uno en uno. Si desea abrir un archivo GCode, seleccione solo uno." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Guardar proyecto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extrusor %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 y material" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "No mostrar resumen de proyecto al guardar de nuevo" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Relleno" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Hueco" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Ningún (0%) relleno, lo que dejará hueco el modelo a costa de baja resistencia" +msgid "0%" +msgstr "0 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Ligero" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Un relleno vacío dejará hueco el modelo con baja resistencia." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Un relleno ligero (20%) dará al modelo de una resistencia media" +msgid "20%" +msgstr "20 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Denso" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Un relleno ligero (20 %) dará al modelo una resistencia media." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Un relleno denso (50%) dará al modelo de una resistencia por encima de la media" +msgid "50%" +msgstr "50 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Sólido" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Un relleno denso (50 %) dará al modelo una resistencia por encima de la media." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Un relleno sólido (100%) hará que el modelo sea completamente macizo" +msgid "100%" +msgstr "100 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Habilitar el soporte" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Un relleno sólido (100 %) hará que el modelo sea completamente macizo." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Habilita las estructuras del soporte. Estas estructuras soportan partes del modelo con voladizos severos." +msgid "Gradual" +msgstr "Gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Un relleno gradual aumentará gradualmente la cantidad de relleno hacia arriba." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Generar soporte" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Generar estructuras para soportar piezas del modelo que tengan voladizos. Sin estas estructuras, estas piezas se romperían durante la impresión." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Extrusor del soporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleccione qué extrusor se utilizará como soporte. Esta opción formará estructuras de soporte por debajo del modelo para evitar que éste se combe o la impresión se haga en el aire." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adherencia de la placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita la impresión de un borde o una balsa. Esta opción agregará un área plana alrededor del objeto, que es fácil de cortar después." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "¿Necesita mejorar sus impresiones? Lea las Guías de solución de problemas de Ultimaker." +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "¿Necesita ayuda para mejorar sus impresiones?
Lea las Guías de solución de problemas de Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Imprimir modelo seleccionado con %1" +msgstr[1] "Imprimir modelos seleccionados con %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Abrir archivo de proyecto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Este es un archivo de proyecto Cura. ¿Le gustaría abrirlo como un proyecto o importar sus modelos?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Recordar mi selección" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Abrir como proyecto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Importar modelos" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Haga clic para comprobar la compatibilidad de los materiales en Utimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,130 @@ msgid "" "Click to open the profile manager." 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." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "No se puede iniciar un trabajo nuevo de impresión. No se ha cargado ningún PrintCore en la ranura {0}." + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Actualización de la versión 2.4 a la 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Actualiza la configuración de Cura 2.4 a Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "No se puede encontrar el perfil de calidad de esta combinación. Se utilizarán los ajustes predeterminados." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "¡Vaya!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Se ha producido una excepción fatal de la que no podemos recuperarnos.

\n" +#~ "

Esperamos que la imagen de este gatito le ayude a recuperarse del shock.

\n" +#~ "

Use la siguiente información para enviar un informe de error a http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Introduzca los ajustes correctos de la impresora a continuación:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extrusor %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Imprimir modelo con" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Tendrá que reiniciar la aplicación para que tengan efecto los cambios del idioma." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an 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." + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "Eliminar &selección" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Abrir archivo..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "A&brir proyecto..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Multiplicar modelo" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Guardar &todo" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Abrir archivo" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Abrir área de trabajo" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Hueco" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Ningún (0%) relleno, lo que dejará hueco el modelo a costa de baja resistencia" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Ligero" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Un relleno ligero (20%) dará al modelo de una resistencia media" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Denso" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Un relleno denso (50%) dará al modelo de una resistencia por encima de la media" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Sólido" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Un relleno sólido (100%) hará que el modelo sea completamente macizo" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Habilitar el soporte" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Habilita las estructuras del soporte. Estas estructuras soportan partes del modelo con voladizos severos." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "¿Necesita mejorar sus impresiones? Lea las Guías de solución de problemas de Ultimaker." + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Conectado a través de la red a {0}. Apruebe la solicitud de acceso en la impresora." diff --git a/resources/i18n/es/fdmextruder.def.json.po b/resources/i18n/es/fdmextruder.def.json.po index e26366b51c..80ec3ffb1b 100644 --- a/resources/i18n/es/fdmextruder.def.json.po +++ b/resources/i18n/es/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: es\n" +"Language-Team: Spanish\n" +"Language: Spanish\n" +"Lang-Code: es\n" +"Country-Code: ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "El tren extrusor que se utiliza para imprimir. Se emplea en la extrusión múltiple." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Diámetro de la tobera" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Diámetro interior de la tobera. Cambie este ajuste cuando utilice un tamaño de tobera no estándar." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/es/fdmprinter.def.json.po b/resources/i18n/es/fdmprinter.def.json.po index f66df9fc03..51c8828606 100644 --- a/resources/i18n/es/fdmprinter.def.json.po +++ b/resources/i18n/es/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: es\n" +"Language-Team: Spanish\n" +"Language: Spanish\n" +"Lang-Code: es\n" +"Country-Code: ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Ancho de línea de interfaz de soporte" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Ancho de una sola línea de la interfaz de soporte." +msgid "Width of a single line of support roof or floor." +msgstr "Ancho de una sola línea de techo o suelo de soporte." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Ancho de línea del techo de soporte" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Ancho de una sola línea de techo de soporte." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Ancho de línea del suelo de soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Ancho de una sola línea de suelo de soporte." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Una lista de los valores enteros de las direcciones de línea. Los elementos de esta lista se utilizan de forma secuencial a medida que las capas se utilizan y, cuando se alcanza el final, la lista vuelve a comenzar desde el principio. Los elementos de la lista están separados por comas y toda la lista aparece entre corchetes. El valor predeterminado es una lista vacía que utiliza los ángulos predeterminados típicos (45 y 135 grados para las líneas y los patrones en zigzag y 45 grados para el resto de patrones)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Radio de la subdivisión cúbica" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Relleno spaghetti" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Un multiplicador del radio desde el centro de cada cubo cuyo fin es comprobar el contorno del modelo para decidir si este cubo debería subdividirse. Cuanto mayor sea su valor, más subdivisiones habrá, es decir, mayor cantidad de cubos pequeños." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Imprima el relleno cada cierto tiempo para que el filamento se enrosque caóticamente dentro del objeto. Esto reduce el tiempo de impresión, pero el comportamiento es más bien impredecible." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Ángulo máximo de relleno spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Ángulo máximo con respecto al eje Z de dentro de la impresora para áreas que se deben rellenar con relleno spaghetti más tarde. Reducir este valor produce que las piezas con más ángulos del modelo se rellenen en cada capa." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Altura máxima de relleno spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Altura máxima del espacio interior se puede combinar y rellenar desde arriba." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Entrante spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Desplazamiento de las paredes desde las que se va a imprimir el relleno spaghetti." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Flujo spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Ajusta la densidad del relleno spaghetti. Tenga en cuenta que la densidad de relleno solo controla el espaciado entre líneas del patrón de relleno, no la cantidad de extrusión del relleno spaghetti." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,22 +1274,22 @@ msgstr "Expanda las áreas de forro del forro superior e inferior en superficies #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Expandir los forros superiores" +msgid "Expand Top Skins Into Infill" +msgstr "Expandir forros superiores en el relleno" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." -msgstr "Expanda las áreas del forro superior (áreas con aire por encima) para que soporte el relleno que tiene arriba." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "Expanda las áreas del forro superior (áreas con aire por encima) para que soporten el relleno que tiene arriba." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Expandir los forros inferiores" +msgid "Expand Bottom Skins Into Infill" +msgstr "Expandir forros inferiores en el relleno" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." msgstr "Expanda las áreas del forro inferior (áreas con aire por debajo) para que queden sujetas por las capas de relleno superiores e inferiores." #: fdmprinter.def.json @@ -1638,8 +1699,28 @@ msgstr "Velocidad de interfaz del soporte" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Velocidad a la que se imprimen los techos y las partes inferiores del soporte. Imprimirlos a una velocidad inferior puede mejorar la calidad del voladizo." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Velocidad a la que se imprimen los techos y suelos del soporte. Imprimirlos a una velocidad inferior puede mejorar la calidad del voladizo." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Velocidad del techo del soporte" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Velocidad a la que se imprimen los techos del soporte. Imprimirlos a una velocidad inferior puede mejorar la calidad del voladizo." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Velocidad del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Velocidad a la que se imprimen los suelos del soporte. Imprimirlos a una velocidad inferior puede mejorar la adhesión del soporte en la parte superior del modelo." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Aceleración de interfaz de soporte" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Aceleración a la que se imprimen los techos y las partes inferiores del soporte. Imprimirlos a aceleraciones inferiores puede mejorar la calidad del voladizo." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Aceleración a la que se imprimen los techos y suelos del soporte. Imprimirlos a una aceleración inferior puede mejorar la calidad del voladizo." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Aceleración del techo del soporte" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Aceleración a la que se imprimen los techos del soporte. Imprimirlos a una aceleración inferior puede mejorar la calidad del voladizo." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Aceleración del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Aceleración a la que se imprimen los suelos del soporte. Imprimirlos a una aceleración inferior puede mejorar la adhesión de soporte en la parte superior del modelo." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,8 +2099,28 @@ msgstr "Impulso de interfaz de soporte" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen los techos y las partes inferiores del soporte." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen los techos y suelos del soporte." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Impulso del techo del soporte" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen los techos del soporte." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Impulso del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen los suelos del soporte." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2449,13 @@ msgstr "Soporte" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Habilitar el soporte" +msgid "Generate Support" +msgstr "Generar soporte" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Habilita las estructuras del soporte. Estas estructuras soportan partes del modelo con voladizos severos." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Generar estructuras para soportar piezas del modelo que tengan voladizos. Sin estas estructuras, estas piezas se romperían durante la impresión." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Extrusor de la interfaz de soporte" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "El tren extrusor que se utiliza para imprimir los techos y partes inferiores del soporte. Se emplea en la extrusión múltiple." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "El tren extrusor que se utiliza para imprimir los techos y suelos del soporte. Se emplea en la extrusión múltiple." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Extrusor del techo del soporte" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "El tren extrusor que se utiliza para imprimir los techos del soporte. Se emplea en la extrusión múltiple." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Extrusor del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "El tren extrusor que se utiliza para imprimir los suelos del soporte. Se emplea en la extrusión múltiple." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Altura del escalón de la escalera del soporte" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Altura de los escalones de la parte inferior de la escalera del soporte que descansa sobre el modelo. Un valor más bajo hace que el soporte sea difícil de retirar pero valores demasiado altos pueden producir estructuras del soporte inestables." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Altura de los escalones de la parte inferior de la escalera del soporte que descansa sobre el modelo. Un valor más bajo hace que el soporte sea difícil de retirar pero valores demasiado altos pueden producir estructuras del soporte inestables. Configúrelo en cero para desactivar el comportamiento de escalera." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Ancho máximo del escalón de la escalera del soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Ancho máximo de los escalones de la parte inferior de la escalera del soporte que descansa sobre el modelo. Un valor más bajo hace que el soporte sea difícil de retirar pero valores demasiado altos pueden producir estructuras del soporte inestables." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Genera una gruesa interfaz entre el modelo y el soporte. De esta forma, se crea un forro en la parte superior del soporte, donde se imprime el modelo, y en la parte inferior del soporte, donde se apoya el modelo." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Habilitar techo del soporte" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Genere una placa densa de material entre la parte superior del soporte y el modelo. Esto creará un forro entre el modelo y el soporte." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Habilitar suelo del soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Genere una placa densa de material entre la parte inferior del soporte y el modelo. Esto creará un forro entre el modelo y el soporte." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "Grosor de los techos del soporte. Este valor controla el número de capa #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Grosor inferior del soporte" +msgid "Support Floor Thickness" +msgstr "Grosor del suelo del soporte" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Grosor de las partes inferiores del soporte. Este valor controla el número de capas densas que se imprimen en las partes superiores de un modelo, donde apoya el soporte." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Grosor de los suelos del soporte. Este valor controla el número de capas densas que se imprimen en las partes superiores de un modelo, donde apoya el soporte." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Resolución de la interfaz de soporte" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "A la hora de comprobar si existe un modelo por encima del soporte, tome las medidas de la altura determinada. Reducir los valores hará que se segmente más despacio, mientras que valores más altos pueden provocar que el soporte normal se imprima en lugares en los que debería haber una interfaz de soporte." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "A la hora de comprobar si existe un modelo por encima y por debajo del soporte, tome las medidas de la altura determinada. Reducir los valores hará que se segmente más despacio, mientras que valores más altos pueden provocar que el soporte normal se imprima en lugares en los que debería haber una interfaz de soporte." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Densidad de la interfaz de soporte" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Ajusta la densidad de los techos y partes inferiores de la estructura de soporte. Un valor superior da como resultado mejores voladizos pero los soportes son más difíciles de retirar." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Ajusta la densidad de los techos y suelos de la estructura de soporte. Un valor superior da como resultado mejores voladizos pero los soportes son más difíciles de retirar." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Distancia de línea de la interfaz de soporte" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Densidad del techo del soporte" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Distancia entre las líneas de la interfaz de soporte impresas. Este ajuste se calcula según la Densidad de la interfaz de soporte, pero se puede ajustar de forma independiente." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Densidad de los techos de la estructura de soporte. Un valor superior da como resultado mejores voladizos pero los soportes son más difíciles de retirar." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Distancia de línea del techo del soporte" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Distancia entre las líneas de techo de soporte impresas. Este ajuste se calcula por la densidad del techo del soporte pero se puede ajustar de forma independiente." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Densidad del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Densidad de los suelos de la estructura de soporte. Un valor superior da como resultado una mejor adhesión del soporte en la parte superior del modelo." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Distancia de línea del suelo de soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Distancia entre las líneas de suelo de soporte impresas. Este ajuste se calcula por la densidad del suelo del soporte pero se puede ajustar de forma independiente." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Patrón del techo del soporte" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Patrón con el que se imprimen los techos del soporte." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Líneas" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Rejilla" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Triángulos" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Concéntrico" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concéntrico 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zigzag" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Patrón del suelo del soporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Patrón con el que se imprimen los suelos del soporte." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Líneas" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Rejilla" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Triángulos" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concéntrico" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concéntrico 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zigzag" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Adherencia" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Activar gotas de cebado" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Si cebar el filamento con una gota antes de imprimir. Al activar este ajuste se garantiza que el extrusor tendrá material listo en la tobera antes de imprimir. La impresión de borde o falda puede actuar como cebado también, en este caso ahorrará tiempo al desactivar este ajuste." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Determina qué malla de relleno está dentro del relleno de otra malla de relleno. Una malla de relleno de orden superior modificará el relleno de las mallas de relleno con un orden inferior y mallas normales." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Cortar malla" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Limite el volumen de esta malla a lo que está dentro de otras mallas. Puede usar esto para hacer que determinadas áreas de una malla se impriman con ajustes diferentes y con un extrusor totalmente diferente." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Molde" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Imprimir modelos como un molde que se pueden fundir para obtener un modelo que se parezca a los modelos de la placa de impresión." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Ancho de molde mínimo" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Distancia mínima entre la parte exterior del molde y la parte exterior del modelo." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Altura del techo del molde" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Altura por encima de las piezas horizontales del modelo del que imprimir el molde." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Ángulo del molde" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Ángulo del voladizo de las paredes exteriores creado para el molde. 0º hará el perímetro exterior del molde vertical, mientras que 90º hará el exterior del modelo seguido del contorno del modelo." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Utilice esta malla para especificar las áreas de soporte. Esta opción puede utilizarse para generar estructuras de soporte." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Malla de soporte desplegable" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Disponga un soporte en todas partes por debajo de la malla de soporte, para que no haya voladizo en la malla de soporte." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Espiralizar el contorno exterior" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "La opción de espiralizar suaviza el movimiento en Z del borde exterior. Esto creará un incremento en Z constante durante toda la impresión. Esta función convierte un modelo sólido en una impresión de una sola pared con una parte inferior sólida. Esta función se denominaba Joris en versiones anteriores." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "La opción de espiralizar suaviza el movimiento en Z del borde exterior. Esto creará un incremento en Z constante durante toda la impresión. Esta función convierte un modelo sólido en una impresión de una sola pared con una parte inferior sólida. Esta función solo se debería habilitar cuando cada capa contenga una única pieza." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Contornos espiralizados suaves" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Suavice los contornos espiralizados para reducir la visibilidad de la costura Z (la costura Z debería ser apenas visible en la impresora pero seguirá siendo visible en la vista de capas). Tenga en cuenta que la suavización tenderá a desdibujar detalles finos de la superficie." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformación que se aplicará al modelo cuando se cargue desde el archivo." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Ancho de una sola línea de la interfaz de soporte." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Radio de la subdivisión cúbica" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Un multiplicador del radio desde el centro de cada cubo cuyo fin es comprobar el contorno del modelo para decidir si este cubo debería subdividirse. Cuanto mayor sea su valor, más subdivisiones habrá, es decir, mayor cantidad de cubos pequeños." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Expandir los forros superiores" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expanda las áreas del forro superior (áreas con aire por encima) para que soporte el relleno que tiene arriba." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Expandir los forros inferiores" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expanda las áreas del forro inferior (áreas con aire por debajo) para que queden sujetas por las capas de relleno superiores e inferiores." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Velocidad a la que se imprimen los techos y las partes inferiores del soporte. Imprimirlos a una velocidad inferior puede mejorar la calidad del voladizo." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Aceleración a la que se imprimen los techos y las partes inferiores del soporte. Imprimirlos a aceleraciones inferiores puede mejorar la calidad del voladizo." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Cambio en la velocidad instantánea máxima a la que se imprimen los techos y las partes inferiores del soporte." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Habilitar el soporte" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Habilita las estructuras del soporte. Estas estructuras soportan partes del modelo con voladizos severos." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "El tren extrusor que se utiliza para imprimir los techos y partes inferiores del soporte. Se emplea en la extrusión múltiple." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Altura de los escalones de la parte inferior de la escalera del soporte que descansa sobre el modelo. Un valor más bajo hace que el soporte sea difícil de retirar pero valores demasiado altos pueden producir estructuras del soporte inestables." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Grosor inferior del soporte" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Grosor de las partes inferiores del soporte. Este valor controla el número de capas densas que se imprimen en las partes superiores de un modelo, donde apoya el soporte." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "A la hora de comprobar si existe un modelo por encima del soporte, tome las medidas de la altura determinada. Reducir los valores hará que se segmente más despacio, mientras que valores más altos pueden provocar que el soporte normal se imprima en lugares en los que debería haber una interfaz de soporte." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Ajusta la densidad de los techos y partes inferiores de la estructura de soporte. Un valor superior da como resultado mejores voladizos pero los soportes son más difíciles de retirar." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Distancia de línea de la interfaz de soporte" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Distancia entre las líneas de la interfaz de soporte impresas. Este ajuste se calcula según la Densidad de la interfaz de soporte, pero se puede ajustar de forma independiente." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "La opción de espiralizar suaviza el movimiento en Z del borde exterior. Esto creará un incremento en Z constante durante toda la impresión. Esta función convierte un modelo sólido en una impresión de una sola pared con una parte inferior sólida. Esta función se denominaba Joris en versiones anteriores." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Temperatura que se usa para la impresión. Se ajusta a 0 para precalentar la impresora de forma manual." diff --git a/resources/i18n/fdmextruder.def.json.pot b/resources/i18n/fdmextruder.def.json.pot index 2105928996..eb290d301c 100644 --- a/resources/i18n/fdmextruder.def.json.pot +++ b/resources/i18n/fdmextruder.def.json.pot @@ -1,12 +1,19 @@ -#, fuzzy +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE\n" +"Language-Team: TEAM\n" +"Language: LANGUAGE\n" +"Lang-Code: xx\n" +"Country-Code: XX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -31,6 +38,18 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "" +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "" +"The inner diameter of the nozzle. Change this setting when using a non-" +"standard nozzle size." +msgstr "" + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/fdmprinter.def.json.pot b/resources/i18n/fdmprinter.def.json.pot index dcfd7c2e59..f8c6dfb1c7 100644 --- a/resources/i18n/fdmprinter.def.json.pot +++ b/resources/i18n/fdmprinter.def.json.pot @@ -1,12 +1,19 @@ -#, fuzzy +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE\n" +"Language-Team: TEAM\n" +"Language: LANGUAGE\n" +"Lang-Code: xx\n" +"Country-Code: XX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -724,7 +731,27 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." +msgid "Width of a single line of support roof or floor." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." msgstr "" #: fdmprinter.def.json @@ -1194,16 +1221,65 @@ msgid "" msgstr "" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" msgstr "" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" +msgctxt "spaghetti_infill_enabled description" msgid "" -"A multiplier on the radius from the center of each cube to check for the " -"boundary of the model, as to decide whether this cube should be subdivided. " -"Larger values lead to more subdivisions, i.e. more small cubes." +"Print the infill every so often, so that the filament will curl up " +"chaotically inside the object. This reduces print time, but the behaviour is " +"rather unpredictable." +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "" +"The maximum angle w.r.t. the Z axis of the inside of the print for areas " +"which are to be filled with spaghetti infill afterwards. Lowering this value " +"causes more angled parts in your model to be filled on each layer." +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "" +"The maximum height of inside space which can be combined and filled from the " +"top." +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "" +"The offset from the walls from where the spaghetti infill will be printed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "" +"Adjusts the density of the spaghetti infill. Note that the Infill Density " +"only controls the line spacing of the filling pattern, not the amount of " +"extrusion for spaghetti infill." msgstr "" #: fdmprinter.def.json @@ -1358,26 +1434,26 @@ msgstr "" #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" +msgid "Expand Top Skins Into Infill" msgstr "" #: fdmprinter.def.json msgctxt "expand_upper_skins description" msgid "" -"Expand upper skin areas (areas with air above) so that they support infill " +"Expand the top skin areas (areas with air above) so that they support infill " "above." msgstr "" #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" +msgid "Expand Bottom Skins Into Infill" msgstr "" #: fdmprinter.def.json msgctxt "expand_lower_skins description" msgid "" -"Expand lower skin areas (areas with air below) so that they are anchored by " -"the infill layers above and below." +"Expand the bottom skin areas (areas with air below) so that they are " +"anchored by the infill layers above and below." msgstr "" #: fdmprinter.def.json @@ -1857,8 +1933,32 @@ msgstr "" #: fdmprinter.def.json msgctxt "speed_support_interface description" msgid "" -"The speed at which the roofs and bottoms of support are printed. Printing " -"the them at lower speeds can improve overhang quality." +"The speed at which the roofs and floors of support are printed. Printing " +"them at lower speeds can improve overhang quality." +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "" +"The speed at which the roofs of support are printed. Printing them at lower " +"speeds can improve overhang quality." +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "" +"The speed at which the floor of support is printed. Printing it at lower " +"speed can improve adhesion of support on top of your model." msgstr "" #: fdmprinter.def.json @@ -2085,8 +2185,32 @@ msgstr "" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" msgid "" -"The acceleration with which the roofs and bottoms of support are printed. " -"Printing them at lower accelerations can improve overhang quality." +"The acceleration with which the roofs and floors of support are printed. " +"Printing them at lower acceleration can improve overhang quality." +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "" +"The acceleration with which the roofs of support are printed. Printing them " +"at lower acceleration can improve overhang quality." +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "" +"The acceleration with which the floors of support are printed. Printing them " +"at lower acceleration can improve adhesion of support on top of your model." msgstr "" #: fdmprinter.def.json @@ -2264,8 +2388,32 @@ msgstr "" #: fdmprinter.def.json msgctxt "jerk_support_interface description" msgid "" -"The maximum instantaneous velocity change with which the roofs and bottoms " -"of support are printed." +"The maximum instantaneous velocity change with which the roofs and floors of " +"support are printed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "" +"The maximum instantaneous velocity change with which the roofs of support " +"are printed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "" +"The maximum instantaneous velocity change with which the floors of support " +"are printed." msgstr "" #: fdmprinter.def.json @@ -2659,14 +2807,14 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" +msgid "Generate Support" msgstr "" #: fdmprinter.def.json msgctxt "support_enable description" msgid "" -"Enable support structures. These structures support parts of the model with " -"severe overhangs." +"Generate structures to support parts of the model which have overhangs. " +"Without these structures, such parts would collapse during printing." msgstr "" #: fdmprinter.def.json @@ -2713,10 +2861,34 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" msgid "" -"The extruder train to use for printing the roofs and bottoms of the support. " +"The extruder train to use for printing the roofs and floors of the support. " "This is used in multi-extrusion." msgstr "" +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "" +"The extruder train to use for printing the roofs of the support. This is " +"used in multi-extrusion." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "" +"The extruder train to use for printing the floors of the support. This is " +"used in multi-extrusion." +msgstr "" + #: fdmprinter.def.json msgctxt "support_type label" msgid "Support Placement" @@ -2918,7 +3090,21 @@ msgctxt "support_bottom_stair_step_height description" msgid "" "The height of the steps of the stair-like bottom of support resting on the " "model. A low value makes the support harder to remove, but too high values " -"can lead to unstable support structures." +"can lead to unstable support structures. Set to zero to turn off the stair-" +"like behaviour." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "" +"The maximum width of the steps of the stair-like bottom of support resting " +"on the model. A low value makes the support harder to remove, but too high " +"values can lead to unstable support structures." msgstr "" #: fdmprinter.def.json @@ -2959,6 +3145,30 @@ msgid "" "the bottom of the support, where it rests on the model." msgstr "" +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "" +"Generate a dense slab of material between the top of support and the model. " +"This will create a skin between the model and support." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "" +"Generate a dense slab of material between the bottom of the support and the " +"model. This will create a skin between the model and support." +msgstr "" + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2985,14 +3195,14 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" +msgid "Support Floor Thickness" msgstr "" #: fdmprinter.def.json msgctxt "support_bottom_height description" msgid "" -"The thickness of the support bottoms. This controls the number of dense " -"layers are printed on top of places of a model on which support rests." +"The thickness of the support floors. This controls the number of dense " +"layers that are printed on top of places of a model on which support rests." msgstr "" #: fdmprinter.def.json @@ -3003,10 +3213,10 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" msgid "" -"When checking where there's model above the support, take steps of the given " -"height. Lower values will slice slower, while higher values may cause normal " -"support to be printed in some places where there should have been support " -"interface." +"When checking where there's model above and below the support, take steps of " +"the given height. Lower values will slice slower, while higher values may " +"cause normal support to be printed in some places where there should have " +"been support interface." msgstr "" #: fdmprinter.def.json @@ -3017,21 +3227,57 @@ msgstr "" #: fdmprinter.def.json msgctxt "support_interface_density description" msgid "" -"Adjusts the density of the roofs and bottoms of the support structure. A " +"Adjusts the density of the roofs and floors of the support structure. A " "higher value results in better overhangs, but the supports are harder to " "remove." msgstr "" #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" +msgctxt "support_roof_density label" +msgid "Support Roof Density" msgstr "" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" +msgctxt "support_roof_density description" msgid "" -"Distance between the printed support interface lines. This setting is " -"calculated by the Support Interface Density, but can be adjusted separately." +"The density of the roofs of the support structure. A higher value results in " +"better overhangs, but the supports are harder to remove." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "" +"Distance between the printed support roof lines. This setting is calculated " +"by the Support Roof Density, but can be adjusted separately." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "" +"The density of the floors of the support structure. A higher value results " +"in better adhesion of the support on top of the model." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "" +"Distance between the printed support floor lines. This setting is calculated " +"by the Support Floor Density, but can be adjusted separately." msgstr "" #: fdmprinter.def.json @@ -3076,6 +3322,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -3133,6 +3459,20 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "" +"Whether to prime the filament with a blob before printing. Turning this " +"setting on will ensure that the extruder will have material ready at the " +"nozzle before printing. Printing Brim or Skirt can act like priming too, in " +"which case turning this setting off saves some time." +msgstr "" + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3918,6 +4258,66 @@ msgid "" "lower order and normal meshes." msgstr "" +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "" +"Limit the volume of this mesh to within other meshes. You can use this to " +"make certain areas of one mesh print with different settings and with a " +"whole different extruder." +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "" +"Print models as a mold, which can be cast in order to get a model which " +"resembles the models on the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "" +"The minimal distance between the ouside of the mold and the outside of the " +"model." +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "" +"The angle of overhang of the outer walls created for the mold. 0° will make " +"the outer shell of the mold vertical, while 90° will make the outside of the " +"model follow the contour of the model." +msgstr "" + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3930,6 +4330,18 @@ msgid "" "structure." msgstr "" +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "" +"Make support everywhere below the support mesh, so that there's no overhang " +"in the support mesh." +msgstr "" + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3982,8 +4394,21 @@ msgctxt "magic_spiralize description" msgid "" "Spiralize smooths out the Z move of the outer edge. This will create a " "steady Z increase over the whole print. This feature turns a solid model " -"into a single walled print with a solid bottom. This feature used to be " -"called Joris in older versions." +"into a single walled print with a solid bottom. This feature should only be " +"enabled when each layer only contains a single part." +msgstr "" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "" +"Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-" +"seam should be barely visible on the print but will still be visible in the " +"layer view). Note that smoothing will tend to blur fine surface details." msgstr "" #: fdmprinter.def.json diff --git a/resources/i18n/fi/cura.po b/resources/i18n/fi/cura.po index 3baed3526b..b698a36807 100644 --- a/resources/i18n/fi/cura.po +++ b/resources/i18n/fi/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fi\n" +"Language-Team: Finnish\n" +"Language: Finnish\n" +"Lang-Code: fi\n" +"Country-Code: FI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Toiminnon avulla voidaan vaihtaa laitteen asetuksia (esim. tulostustilavuus, suuttimen koko yms.)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Laitteen asetukset" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Näytä muutosloki" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Profiilin tasoitus" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Luo tasoitettu laatumuutosten profiili." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Aktivoitujen asetusten tasoitus" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Profiili on tasoitettu ja aktivoitu." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Yhdistetty USB:n kautta" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Uuden työn aloittaminen ei onnistu, koska tulostin on varattu tai sitä ei ole yhdistetty." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Tämä tulostin ei tue USB-tulostusta, koska se käyttää UltiGCode-tyyppiä." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Uuden työn aloittaminen ei onnistu, koska tulostin ei tue USB-tulostusta." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Tallenna siirrettävälle asemalle {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Tallennetaan siirrettävälle asemalle {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Ei voitu tallentaa tiedostoon {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Tallennettu siirrettävälle asemalle {0} nimellä {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Poista" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Poista siirrettävä asema {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Ei voitu tallentaa siirrettävälle asemalle {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Poistettu {0}. Voit nyt poistaa aseman turvallisesti." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Lähetä tulostimen käyttöoikeuspyyntö" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Yhdistetty verkon kautta. Hyväksy tulostimen käyttöoikeuspyyntö." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Yhdistetty verkon kautta tulostimeen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Yhdistetty verkon kautta tulostimeen. Ei käyttöoikeutta tulostimen hallintaan." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Tulostimen käyttöoikeuspyyntö hylättiin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Käyttöoikeuspyyntö epäonnistui aikakatkaisun vuoksi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Yhteys verkkoon menetettiin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Yhteys tulostimeen menetettiin. Tarkista, onko tulostin yhdistetty." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Uuden tulostustyön aloittaminen ei onnistu, koska tulostin on varattu. Nykyinen tulostimen tila on %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Uuden tulostustyön aloittaminen ei onnistu. PrinterCorea ei ole ladattu aukkoon {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Uuden tulostustyön aloittaminen ei onnistu. PrintCorea ei ole ladattu aukkoon {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Uuden tulostustyön aloittaminen ei onnistu. Materiaalia ei ole ladattu aukkoon {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Kelalle {0} ei ole tarpeeksi materiaalia." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Eri PrintCore-tulostusydin (Cura: {0}, tulostin: {1}) valittu suulakkeelle {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Eri materiaali (Cura: {0}, tulostin: {1}) valittu suulakkeelle {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Print Core -tulostusydintä {0} ei ole kalibroitu oikein. Tulostimen XY-kalibrointi tulee suorittaa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Haluatko varmasti tulostaa valitulla määrityksellä?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "Tulostimen ja Curan määrityksen tai kalibroinnin välillä on ristiriita. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Ristiriitainen määritys" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Lähetetään tietoja tulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Peruuta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Tietojen lähetys tulostimeen ei onnistu. Onko toinen työ yhä aktiivinen?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Keskeytetään tulostus..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Tulostus keskeytetty. Tarkista tulostin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Tulostus pysäytetään..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Tulostusta jatketaan..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synkronoi tulostimen kanssa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Haluatko käyttää nykyistä tulostimen määritystä Curassa?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "Tulostimen PrintCoret tai materiaalit eivät vastaa tulostettavan projektin asetuksia. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Ohita" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Materiaaliprofiilit" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Mahdollistaa XML-pohjaisten materiaaliprofiilien lukemisen ja kirjoittamisen." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Kerrokset" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura ei näytä kerroksia täsmällisesti, kun rautalankatulostus on käytössä" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Päivitys versiosta 2.4 versioon 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Päivitys versiosta 2.5 versioon 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Päivittää kokoonpanon versiosta Cura 2.4 versioon Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Päivittää kokoonpanon versiosta Cura 2.5 versioon Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-kuva" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Valittu materiaali ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Viipalointi ei onnistu nykyisten asetuksien ollessa voimassa. Seuraavissa asetuksissa on virheitä: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Viipalointi ei onnistu, koska esitäyttötorni tai esitäytön sijainti tai sijainnit eivät kelpaa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Ei viipaloitavaa, koska mikään malleista ei sovellu tulostustilavuuteen. Skaalaa tai pyöritä mallia, kunnes se on sopiva." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Linkki CuraEngine-viipalointiin taustalla." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Käsitellään kerroksia" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Määritä mallikohtaiset asetukset" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Suositeltu" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Mukautettu" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF-lukija" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Tukee 3MF-tiedostojen lukemista." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-tiedosto" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Suutin" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G File -tiedosto" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-coden jäsennys" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "Varmista, että G-code on tulostimelle ja sen tulostusasetuksille soveltuva, ennen kuin lähetät tiedoston siihen. G-coden esitys ei välttämättä ole tarkka." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-profiili" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF-kirjoitin" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Tukee 3MF-tiedostojen kirjoittamista." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF-tiedosto" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura-projektin 3MF-tiedosto" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ultimaker-laitteen toiminnot" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ultimaker-laitteiden toimintojen käyttö (esim. pöydän tasaaminen, päivitysten valinta yms.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Valitse päivitykset" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ultimaker-laitteen toiminnot" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Ultimaker-laitteiden toimintojen käyttö (esim. pöydän tasaaminen, päivitysten valinta yms.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Tukee Cura-profiilien tuontia." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Tuntematon materiaali" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Uusien paikkojen etsiminen kappaleille" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Kaikille kappaleille ei löydy paikkaa tulostustilavuudessa." + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Tiedosto on jo olemassa" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Tiedosto {0} on jo olemassa. Haluatko varmasti kirjoittaa sen päälle?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Tälle yhdistelmälle ei löytynyt laadukasta profiilia. Käytetään oletusasetuksia." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Mukautettu" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Mukautettu materiaali" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Profiilin vienti epäonnistui tiedostoon {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Profiilin vienti epäonnistui tiedostoon {0}: Kirjoitin-lisäosa ilmoitti virheestä." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Profiili viety tiedostoon {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Profiilin tuonti epäonnistui tiedostosta {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Onnistuneesti tuotu profiili {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profiililla {0} on tuntematon tiedostotyyppi tai se on vioittunut." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Mukautettu profiili" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Profiilista puuttuu laatutyyppi." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Laatutyyppiä {0} ei löydy nykyiselle kokoonpanolle." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Tulostustilavuuden korkeutta on vähennetty tulostusjärjestysasetuksen vuoksi, jotta koroke ei osuisi tulostettuihin malleihin." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Hups!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Kappaleiden kertominen ja sijoittelu" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Kaatumisraportti" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Tapahtui vakava poikkeus, josta palautuminen ei onnistunut!

\n

Toivottavasti tämä kissanpentukuva lieventää hiukan järkytystä.

\n

Tee virheraportti alla olevien tietojen perusteella osoitteessa http://github.com/Ultimaker/Cura/issues

\n " +msgstr "

Tapahtui vakava poikkeus, josta palautuminen ei onnistunut!

\n

Tee virheraportti alla olevien tietojen perusteella osoitteessa http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Avaa verkkosivu" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Ladataan laitteita..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Asetetaan näkymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Ladataan käyttöliittymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Vain yksi G-code-tiedosto voidaan ladata kerralla. Tiedoston {0} tuonti ohitettiin." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Muita tiedostoja ei voida ladata, kun G-code latautuu. Tiedoston {0} tuonti ohitettiin." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Laitteen asetukset" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Anna tulostimen asetukset alla:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Tulostin" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Tulostimen asetukset" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (leveys)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (syvyys)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (korkeus)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Alustan muoto" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Laitteen keskus on nolla" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Lämmitettävä pöytä" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "GCode-tyyppi" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Tulostuspään asetukset" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X väh." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y väh." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X enint." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y enint." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Korokkeen korkeus" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Suulakkeiden määrä" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Materiaalin halkaisija" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Suuttimen koko" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Aloita GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Lopeta GCode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Suutinasetukset" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Suuttimen X-siirtymä" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Suuttimen Y-siirtymä" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Suulake – aloita Gcode" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Suulake – lopeta Gcode" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D-asetukset" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Tallenna" @@ -1121,7 +1219,7 @@ msgstr "Suulakkeen lämpötila: %1/%2 °C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Tulosta" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Tuntemattoman virheen koodi: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Yhdistä verkkotulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "Select your printer from the list below:" msgstr "Tulosta suoraan tulostimeen verkon kautta yhdistämällä tulostin verkkoon verkkokaapelilla tai yhdistämällä tulostin Wi-Fi-verkkoon. Jos Curaa ei yhdistetä tulostimeen, GCode-tiedostot voidaan silti siirtää tulostimeen USB-aseman avulla.\n\nValitse tulostin alla olevasta luettelosta:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Lisää" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Muokkaa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Poista" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Päivitä" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "Jos tulostinta ei ole luettelossa, lue verkkotulostuksen vianetsintäopas" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tyyppi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Tuntematon" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Laiteohjelmistoversio" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Osoite" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Tämän osoitteen tulostin ei ole vielä vastannut." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Yhdistä" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Tulostimen osoite" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Anna verkon tulostimen IP-osoite tai isäntänimi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "OK" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Muuta aktiivisia jälkikäsittelykomentosarjoja" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Näyttötapa: Kerrokset" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Värimalli" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materiaalin väri" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Linjojen tyyppi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Yhteensopivuustila" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Suulake %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Näytä siirtoliikkeet" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Näytä avustimet" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Näytä kuori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Näytä täyttö" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Näytä vain yläkerrokset" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Näytä 5 yksityiskohtaista kerrosta ylhäällä" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Yläosa/alaosa" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Sisäseinämä" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Tasoitus" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Tulosta malli seuraavalla:" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Valitse asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Valitse tätä mallia varten mukautettavat asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Suodatin..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Näytä kaikki" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Avaa projekti" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Päivitä nykyinen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Luo uusi" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Yhteenveto – Cura-projekti" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Tulostimen asetukset" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Miten laitteen ristiriita pitäisi ratkaista?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Tyyppi" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Nimi" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profiilin asetukset" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Miten profiilin ristiriita pitäisi ratkaista?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Ei profiilissa" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 ohitus" msgstr[1] "%1 ohitusta" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Johdettu seuraavista" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 ohitus" msgstr[1] "%1, %2 ohitusta" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Materiaaliasetukset" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Miten materiaalin ristiriita pitäisi ratkaista?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Asetusten näkyvyys" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Tila" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Näkyvät asetukset:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1/%2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Projektin lataaminen poistaa kaikki alustalla olevat mallit" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Avaa" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Valitse tulostimen päivitykset" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Valitse tähän Ultimaker 2 -laitteeseen tehdyt päivitykset." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Olsson Block -lämmitysosa" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Valitse mukautettu laiteohjelmisto" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Valitse tulostimen päivitykset" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "Tulostin ei hyväksy komentoja" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Huolletaan. Tarkista tulostin" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Yhteys tulostimeen menetetty" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Tulostetaan..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Keskeytetty" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Valmistellaan..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Haluatko varmasti keskeyttää tulostuksen?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Hylkää tai säilytä muutokset" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" msgstr "Olet mukauttanut profiilin asetuksia.\nHaluatko säilyttää vai hylätä nämä asetukset?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profiilin asetukset" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Oletusarvo" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Mukautettu" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Kysy aina" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Hylkää äläkä kysy uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Säilytä äläkä kysy uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Hylkää" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Säilytä" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Luo uusi profiili" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Tiedot" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Näytä nimi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Merkki" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Materiaalin tyyppi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Väri" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Ominaisuudet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Tiheys" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Läpimitta" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Tulostuslangan hinta" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Tulostuslangan paino" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Tulostuslangan pituus" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Hinta metriä kohden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Materiaali on linkitetty kohteeseen %1 ja niillä on joitain samoja ominaisuuksia." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Poista materiaalin linkitys" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Kuvaus" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Tarttuvuustiedot" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Tulostusasetukset" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Yksikkö" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Yleiset" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Käyttöliittymä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Kieli:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Valuutta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Sovellus on käynnistettävä uudelleen, jotta kielimuutokset tulevat voimaan." +msgid "Theme:" +msgstr "Teema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "Sovellus on käynnistettävä uudelleen, jotta nämä muutokset tulevat voimaan." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Viipaloi automaattisesti, kun asetuksia muutetaan." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Viipaloi automaattisesti" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Näyttöikkunan käyttäytyminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Korosta mallin vailla tukea olevat alueet punaisella. Ilman tukea nämä alueet eivät tulostu kunnolla." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Näytä uloke" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Siirtää kameraa siten, että malli on näkymän keskellä, kun malli on valittu" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "Siirtää kameraa siten, että valittuna oleva malli on näkymän keskellä." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Keskitä kamera kun kohde on valittu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "Pitääkö Curan oletusarvoinen zoom-toimintatapa muuttaa päinvastaiseksi?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Käännä kameran zoomin suunta päinvastaiseksi." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Pitäisikö alustalla olevia malleja siirtää niin, etteivät ne enää leikkaa toisiaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Varmista, että mallit ovat erillään" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Pitäisikö tulostusalueella olevia malleja siirtää alas niin, että ne koskettavat tulostusalustaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Pudota mallit automaattisesti alustalle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Näytä varoitusviesti gcode-lukijassa." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Gcode-lukijan varoitusviesti" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Pakotetaanko kerros yhteensopivuustilaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Pakota kerrosnäkymän yhteensopivuustila (vaatii uudelleenkäynnistyksen)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Tiedostojen avaaminen ja tallentaminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Pitäisikö mallit skaalata tulostustilavuuteen, jos ne ovat liian isoja?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Skaalaa suuret mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "Malli voi vaikuttaa erittäin pieneltä, jos sen koko on ilmoitettu esimerkiksi metreissä eikä millimetreissä. Pitäisikö nämä mallit suurentaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Skaalaa erittäin pienet mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Pitäisikö tulostustyön nimeen lisätä automaattisesti tulostimen nimeen perustuva etuliite?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Lisää laitteen etuliite työn nimeen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Näytetäänkö yhteenveto, kun projektitiedosto tallennetaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Näytä yhteenvetoikkuna, kun projekti tallennetaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Projektitiedoston avaamisen oletustoimintatapa" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Projektitiedoston avaamisen oletustoimintatapa: " + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Kysy aina" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Avaa aina projektina" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Tuo mallit aina" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "Kun olet tehnyt muutokset profiiliin ja vaihtanut toiseen, näytetään valintaikkuna, jossa kysytään, haluatko säilyttää vai hylätä muutokset. Tässä voit myös valita oletuskäytöksen, jolloin valintaikkunaa ei näytetä uudelleen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Kumoa profiili" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Tietosuoja" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Pitäisikö Curan tarkistaa saatavilla olevat päivitykset, kun ohjelma käynnistetään?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Tarkista päivitykset käynnistettäessä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Pitäisikö anonyymejä tietoja tulosteesta lähettää Ultimakerille? Huomaa, että malleja, IP-osoitteita tai muita henkilökohtaisia tietoja ei lähetetä eikä tallenneta." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Lähetä (anonyymit) tulostustiedot" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Tulostimet" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Aktivoi" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Tulostimen tyyppi:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Yhteys:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Tulostinta ei ole yhdistetty." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Tila:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Odotetaan tulostusalustan tyhjennystä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Odotetaan tulostustyötä" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiilit" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Jäljennös" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Tuo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Vie" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Profiilin vienti" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materiaalit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Tulostin: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Tulostin: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Luo" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Jäljennös" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Tuo materiaali" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Materiaalin tuominen epäonnistui: %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Materiaalin tuominen onnistui: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Vie materiaali" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Materiaalin vieminen epäonnistui kohteeseen %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Materiaalin vieminen onnistui kohteeseen %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Lisää tulostin" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Lisää tulostin" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Ulkoseinämä" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Sisäseinämät" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Pintakalvo" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Täyttö" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Tuen täyttö" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Tukiliittymä" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Tuki" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Siirtoliike" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Takaisinvedot" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Muu" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00 h 00 min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-kuvakkeet" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Haku…" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Kopioi arvo kaikkiin suulakepuristimiin" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Piilota tämä asetus" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Älä näytä tätä asetusta" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Pidä tämä asetus näkyvissä" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Määritä asetusten näkyvyys..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Tulostuksen asennus ei käytössä\nG-code-tiedostoja ei voida muokata" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Suositeltu tulostuksen asennus

Tulosta valitun tulostimen, materiaalin ja laadun suositelluilla asetuksilla." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Mukautettu tulostuksen asennus

Tulosta hallitsemalla täysin kaikkia viipalointiprosessin vaiheita." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automaattinen: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automaattinen: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Tulosta valittu malli asetuksella:" +msgstr[1] "Tulosta valitut mallit asetuksella:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Kerro valittu malli" +msgstr[1] "Kerro valitut mallit" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Kopioiden määrä" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Aikaa jäljellä arviolta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Vaihda &koko näyttöön" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Kumoa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Tee &uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Lopeta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Määritä Curan asetukset..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "L&isää tulostin..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Tulostinten &hallinta..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Hallitse materiaaleja..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Päivitä nykyiset asetukset tai ohitukset profiiliin" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Hylkää tehdyt muutokset" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Luo profiili nykyisten asetusten tai ohitusten perusteella..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profiilien hallinta..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Näytä sähköinen &dokumentaatio" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Ilmoita &virheestä" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "Ti&etoja..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "&Poista valinta" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Poista &valittu malli" +msgstr[1] "Poista &valitut mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Keskitä valittu malli" +msgstr[1] "Keskitä valitut mallit" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Kerro valittu malli" +msgstr[1] "Kerro valitut mallit" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Poista malli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ke&skitä malli alustalle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Ryhmittele mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Poista mallien ryhmitys" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Yhdistä mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Kerro malli..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Valitse kaikki mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Tyhjennä tulostusalusta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "&Lataa kaikki mallit uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Järjestä kaikki mallit" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Järjestä valinta" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Määritä kaikkien mallien positiot uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Määritä kaikkien mallien &muutokset uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Avaa tiedosto..." +msgid "&Open File(s)..." +msgstr "&Avaa tiedosto(t)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Avaa projekti..." +msgid "&New Project..." +msgstr "&Uusi projekti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Näytä moottorin l&oki" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Näytä määrityskansio" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Määritä asetusten näkyvyys..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Monista malli" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Viipalointi ei käytettävissä" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Valmistele" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Peruuta" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Valitse aktiivinen tulostusväline" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Avaa tiedosto(t)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Löysimme vähintään yhden projektitiedoston valitsemiesi tiedostojen joukosta. Voit avata vain yhden projektitiedoston kerrallaan. Suosittelemme, että tuot vain malleja niistä tiedostoista. Haluatko jatkaa?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Tuo kaikki malleina" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Tiedosto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Tallenna valinta tiedostoon" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Tallenna &kaikki" +msgid "Save &As..." +msgstr "Tallenna &nimellä…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Tallenna projekti" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Muokkaa" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Näytä" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Asetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Tulostin" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Materiaali" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profiili" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Aseta aktiiviseksi suulakepuristimeksi" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Laa&jennukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "L&isäasetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Ohje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Avaa tiedosto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Näyttötapa" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Asetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Avaa tiedosto" +msgid "New project" +msgstr "Uusi projekti" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Haluatko varmasti aloittaa uuden projektin? Se tyhjentää alustan ja kaikki tallentamattomat asetukset." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Avaa työtila" +msgid "Open File(s)" +msgstr "Avaa tiedosto(t)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Löysimme vähintään yhden Gcode-tiedoston valitsemiesi tiedostojen joukosta. Voit avata vain yhden Gcode-tiedoston kerrallaan. Jos haluat avata Gcode-tiedoston, valitse vain yksi." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Tallenna projekti" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Suulake %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & materiaali" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Älä näytä projektin yhteenvetoa tallennettaessa" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Täyttö" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Ontto" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Ei (0 %) täyttöä jättää mallin ontoksi ja lujuudeltaan alhaiseksi" +msgid "0%" +msgstr "0 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Harva" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Ei täyttöä jättää mallin ontoksi ja lujuudeltaan alhaiseksi." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Harva (20 %) täyttö antaa mallille keskimääräisen lujuuden" +msgid "20%" +msgstr "20 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Tiheä" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Harva (20 %) täyttö antaa mallille keskimääräisen lujuuden." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Tiheä (50 %) täyttö antaa mallille keskimääräistä paremman lujuuden" +msgid "50%" +msgstr "50 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Kiinteä" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Tiheä (50 %) täyttö antaa mallille keskimääräistä paremman lujuuden." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Kiinteä (100 %) täyttö tekee mallista täysin umpinaisen" +msgid "100%" +msgstr "100 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Ota tuki käyttöön" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Kiinteä (100 %) täyttö tekee mallista täysin umpinaisen." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Ota tukirakenteet käyttöön. Nämä rakenteet tukevat mallin osia, joissa on merkittäviä ulokkeita." +msgid "Gradual" +msgstr "Asteittainen" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Asteittainen täyttö lisää täytön tiheyttä vähitellen yläosaa kohti." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Muodosta tuki" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Muodosta rakenteita, jotka tukevat mallin ulokkeita sisältäviä osia. Ilman tukirakenteita kyseiset osat luhistuvat tulostuksen aikana." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Tuen suulake" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Valitse tukena käytettävä suulakepuristin. Näin mallin alle rakennetaan tukirakenteita estämään mallin painuminen tai tulostuminen ilmaan." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Alustan tarttuvuus" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Ota reunuksen tai pohjaristikon tulostus käyttöön. Tämä lisää kappaleen ympärille tai alle tasaisen alueen, joka on helppo leikata pois myöhemmin." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Tarvitsetko apua tulosteiden parantamiseen? Lue Ultimakerin vianetsintäoppaat" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Tarvitsetko apua tulosteiden parantamiseen?
Lue Ultimakerin vianmääritysoppaat" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Tulosta valittu malli asetuksella %1" +msgstr[1] "Tulosta valitut mallit asetuksella %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Avaa projektitiedosto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Tämä on Cura-projektitiedosto. Haluatko avata sen projektina vai tuoda siinä olevat mallit?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Muista valintani" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Avaa projektina" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Tuo mallit" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Materiaali" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Napsauta ja tarkista materiaalin yhteensopivuus sivustolla Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profiili:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,130 @@ msgid "" "Click to open the profile manager." msgstr "Jotkut asetusten ja ohitusten arvot eroavat profiiliin tallennetuista arvoista.\n\nAvaa profiilin hallinta napsauttamalla." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Uuden tulostustyön aloittaminen ei onnistu. PrinterCorea ei ole ladattu aukkoon {0}" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Päivitys versiosta 2.4 versioon 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Päivittää kokoonpanon versiosta Cura 2.4 versioon Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Tälle yhdistelmälle ei löytynyt laadukasta profiilia. Käytetään oletusasetuksia." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Hups!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Tapahtui vakava poikkeus, josta palautuminen ei onnistunut!

\n" +#~ "

Toivottavasti tämä kissanpentukuva lieventää hiukan järkytystä.

\n" +#~ "

Tee virheraportti alla olevien tietojen perusteella osoitteessa http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Anna tulostimen asetukset alla:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Suulake %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Tulosta malli seuraavalla:" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Sovellus on käynnistettävä uudelleen, jotta kielimuutokset tulevat voimaan." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Siirtää kameraa siten, että malli on näkymän keskellä, kun malli on valittu" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "&Poista valinta" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Avaa tiedosto..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Avaa projekti..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Monista malli" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Tallenna &kaikki" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Avaa tiedosto" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Avaa työtila" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Ontto" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Ei (0 %) täyttöä jättää mallin ontoksi ja lujuudeltaan alhaiseksi" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Harva" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Harva (20 %) täyttö antaa mallille keskimääräisen lujuuden" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Tiheä" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Tiheä (50 %) täyttö antaa mallille keskimääräistä paremman lujuuden" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Kiinteä" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Kiinteä (100 %) täyttö tekee mallista täysin umpinaisen" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Ota tuki käyttöön" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Ota tukirakenteet käyttöön. Nämä rakenteet tukevat mallin osia, joissa on merkittäviä ulokkeita." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Tarvitsetko apua tulosteiden parantamiseen? Lue Ultimakerin vianetsintäoppaat" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Yhdistetty verkon kautta tulostimeen {0}. Hyväksy tulostimen käyttöoikeuspyyntö." diff --git a/resources/i18n/fi/fdmextruder.def.json.po b/resources/i18n/fi/fdmextruder.def.json.po index a6bd992e74..030ea5a51b 100644 --- a/resources/i18n/fi/fdmextruder.def.json.po +++ b/resources/i18n/fi/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fi\n" +"Language-Team: Finnish\n" +"Language: Finnish\n" +"Lang-Code: fi\n" +"Country-Code: FI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Suuttimen halkaisija" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Suuttimen sisähalkaisija. Muuta tätä asetusta, kun käytössä on muu kuin vakiokokoinen suutin." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/fi/fdmprinter.def.json.po b/resources/i18n/fi/fdmprinter.def.json.po index 0d25b01437..954b4588fb 100644 --- a/resources/i18n/fi/fdmprinter.def.json.po +++ b/resources/i18n/fi/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fi\n" +"Language-Team: Finnish\n" +"Language: Finnish\n" +"Lang-Code: fi\n" +"Country-Code: FI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Tukiliittymän linjan leveys" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Yhden tukiliittymän linjan leveys." +msgid "Width of a single line of support roof or floor." +msgstr "Tukikaton tai -lattian yhden linjan leveys." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Tukikaton linjaleveys" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Tukikaton yhden linjan leveys." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Tukilattian linjaleveys" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Tukilattian yhden linjan leveys." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Luettelo käytettävistä linjojen kokonaislukusuunnista. Tämän luettelon elementtejä käytetään järjestyksessä kerrosten edetessä, ja kun luettelon loppu saavutetaan, aloitetaan taas alusta. Luettelon kohteet on erotettu pilkuilla, ja koko luettelo on hakasulkeiden sisällä. Oletusarvo on tyhjä luettelo, jolloin käytetään perinteisiä oletuskulmia (45 ja 135 astetta linja- ja siksak-kuvioille ja 45 astetta muille kuvioille)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Kuution alajaon säde" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Spagettitäyttö" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Säteen kerroin kunkin kuution keskipisteestä mallin rajojen tarkistamiseksi. Näin määritetään, tuleeko kuutioon tehdä alajako. Suuremmat arvot tuottavat enemmän alajakoja eli enemmän pieniä kuutioita." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Tulostaa täytön silloin tällöin, niin että tulostuslanka kiertyy sattumanvaraisesti kappaleen sisälle. Tämä lyhentää tulostusaikaa, mutta toimintatapa on melko arvaamaton." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Spagettitäytön enimmäiskulma" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Tulosteen sisustan suurin mahdollinen kulma Z-akseliin nähden alueilla, jotka täytetään myöhemmin spagettitäytöllä. Tämän arvon alentaminen johtaa siihen, että useampia mallin vinottaisia osia täytetään jokaisessa kerroksessa." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Spagettitäytön enimmäiskorkeus" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Yhdistettävän ja yläpuolelta täytettävän sisätilan enimmäiskorkeus." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Spagettiliitos" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Siirtymä seinämistä, joista spagettitäyttö tulostetaan." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Spagettivirtaus" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Säätää spagettitäytön tiheyttä. Huomaa, että täyttötiheys hallitsee vain täyttökuvion linjojen välien suuruutta, ei spagettitäytön pursotusmäärää." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,23 +1274,23 @@ msgstr "Laajenna tasaisten pintojen ylä- ja/tai alapuolen pintakalvot. Oletukse #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Laajenna ylemmät pintakalvot" +msgid "Expand Top Skins Into Infill" +msgstr "Ylimpien pintakalvojen laajennus täyttöalueelle" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." -msgstr "Laajenna ylemmät pintakalvot (alueet, joiden yläpuolella on ilmaa) niin, että ne tukevat yläpuolista täyttöaluetta." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "Laajenna ylimmät pintakalvot (alueet, joiden yläpuolella on ilmaa) niin, että ne tukevat yläpuolista täyttöaluetta." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Laajenna alemmat pintakalvot" +msgid "Expand Bottom Skins Into Infill" +msgstr "Alimpien pintakalvojen laajennus täyttöalueelle" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Laajenna alemmat pintakalvot (alueet, joiden alapuolella on ilmaa) niin, että ylä- ja alapuoliset täyttökerrokset ankkuroivat ne." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "Laajenna alimmat pintakalvot (alueet, joiden alapuolella on ilmaa) niin, että ylä- ja alapuoliset täyttökerrokset ankkuroivat ne." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1638,8 +1699,28 @@ msgstr "Tukiliittymän nopeus" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Nopeus, jolla tuen katot ja alaosat tulostetaan. Niiden tulostus hitaammilla nopeuksilla voi parantaa ulokkeen laatua." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Nopeus, jolla tuen katot ja lattiat tulostetaan. Niiden tulostus hitaammilla nopeuksilla voi parantaa ulokkeen laatua." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Tukikaton nopeus" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Nopeus, jolla tuen katot tulostetaan. Niiden tulostus hitaammilla nopeuksilla voi parantaa ulokkeen laatua." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Tukilattian nopeus" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Nopeus, jolla tuen lattiat tulostetaan. Niiden tulostus hitaammilla nopeuksilla voi parantaa mallin yläosan tuen kiinnittymistä." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Tukiliittymän kiihtyvyys" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Kiihtyvyys, jolla tuen katot ja alaosat tulostetaan. Niiden tulostus hitaammilla kiihtyvyyksillä voi parantaa ulokkeen laatua." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Kiihtyvyys, jolla tuen katot ja lattiat tulostetaan. Niiden tulostus hitaammalla kiihtyvyydellä voi parantaa ulokkeen laatua." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Tukikaton kiihtyvyys" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Kiihtyvyys, jolla tuen katot tulostetaan. Niiden tulostus hitaammalla kiihtyvyydellä voi parantaa ulokkeen laatua." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Tukilattian kiihtyvyys" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Kiihtyvyys, jolla tuen lattiat tulostetaan. Niiden tulostus hitaammalla kiihtyvyydellä voi parantaa mallin yläosan tuen kiinnittymistä." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,8 +2099,28 @@ msgstr "Tukiliittymän nykäisy" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "Tuen kattojen ja alaosien tulostuksen nopeuden hetkellinen maksimimuutos." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "Tuen kattojen ja lattioiden tulostuksen nopeuden hetkellinen maksimimuutos." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Tukikaton nykäisy" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Tuen kattojen tulostuksen nopeuden hetkellinen maksimimuutos." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Tukilattian nykäisy" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Tuen lattioiden tulostuksen nopeuden hetkellinen maksimimuutos." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2449,13 @@ msgstr "Tuki" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Ota tuki käyttöön" +msgid "Generate Support" +msgstr "Muodosta tuki" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Ota tukirakenteet käyttöön. Nämä rakenteet tukevat mallin osia, joissa on merkittäviä ulokkeita." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Muodosta rakenteita, jotka tukevat mallin ulokkeita sisältäviä osia. Ilman tukirakenteita kyseiset osat luhistuvat tulostuksen aikana." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Tukiliittymän suulake" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "Tuen kattojen ja alaosien tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "Tuen kattojen ja lattioiden tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Tukikaton suulake" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Tuen kattojen tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Tukilattian suulake" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Tuen lattioiden tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Tuen porrasnousun korkeus" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Mallin päällä olevan porrasmaisen tuen pohjan portaiden korkeus. Matala arvo tekee tuesta vaikeamman poistaa, mutta liian korkeat arvot voivat johtaa epävakaisiin tukirakenteisiin." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Mallin päällä olevan porrasmaisen tuen pohjan portaiden korkeus. Matala arvo tekee tuesta vaikeamman poistaa, mutta liian korkeat arvot voivat johtaa epävakaisiin tukirakenteisiin. Poista porrasmainen ominaisuus käytöstä valitsemalla asetukseksi nolla." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Tukiportaiden askelman enimmäisleveys" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Mallin päällä olevan porrasmaisen tuen pohjan portaiden enimmäisleveys. Matala arvo tekee tuesta vaikeamman poistaa, mutta liian korkeat arvot voivat johtaa epävakaisiin tukirakenteisiin." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Muodostaa tiheän liittymän mallin ja tuen väliin. Tällä luodaan pintakalvo tulostettavan mallin tuen yläosaan ja alaosaan, jossa se lepää mallin päällä." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Ota tukikatto käyttöön" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Muodosta tiheä materiaalilaatta tuen yläosan ja mallin välille. Se luo pintakalvon mallin ja tuen välille." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Ota tukilattia käyttöön" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Muodosta tiheä materiaalilaatta tuen alaosan ja mallin välille. Se luo pintakalvon mallin ja tuen välille." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "Tukikattojen paksuus. Tällä hallitaan tiheiden kerrosten määrää se #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Tuen alaosan paksuus" +msgid "Support Floor Thickness" +msgstr "Tukilattian paksuus" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Tuen alaosien paksuus. Tällä hallitaan sellaisten tiheiden kerrosten määrää, jotka tulostetaan mallin tukea kannattelevien kohtien päälle." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Tuen lattioiden paksuus. Tällä hallitaan sellaisten tiheiden kerrosten määrää, jotka tulostetaan mallin tukea kannattelevien kohtien päälle." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Tukiliittymän resoluutio" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Kun tarkistat mallia tuen päällä, toimi annetun korkeuden mukaisesti. Pienemmillä arvoilla viipalointi tapahtuu hitaammin, ja korkeammat arvot saattavat aiheuttaa normaalin tuen tulostumisen paikkoihin, joissa olisi pitänyt olla tukiliittymä." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Kun tarkistat tuen päällä ja alla olevaa mallia, toimi annetun korkeuden mukaisesti. Pienemmillä arvoilla viipalointi tapahtuu hitaammin, ja korkeammat arvot saattavat aiheuttaa normaalin tuen tulostumisen paikkoihin, joissa olisi pitänyt olla tukiliittymä." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Tukiliittymän tiheys" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Säätää tukirakenteen kattojen ja alaosien tiheyttä. Korkeammat arvot tuottavat parempia ulokkeita, mutta tuet on vaikeampi poistaa." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Säätää tukirakenteen kattojen ja lattioiden tiheyttä. Korkeammat arvot tuottavat parempia ulokkeita, mutta tuet on vaikeampi poistaa." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Tukiliittymän linjaetäisyys" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Tukikaton tiheys" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Tulostettujen tukiliittymän linjojen välinen etäisyys. Tämä asetus lasketaan tukiliittymän tiheysarvosta, mutta sitä voidaan säätää erikseen." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Tukirakenteen lattian tiheys. Korkeammat arvot tuottavat parempia ulokkeita, mutta tuet on vaikeampi poistaa." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Tukikaton linjaetäisyys" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Tulostettujen tukikattolinjojen välinen etäisyys. Tämä asetus lasketaan tukikaton tiheysarvosta, mutta sitä voidaan säätää erikseen." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Tukilattian tiheys" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Tukirakenteen lattioiden tiheys. Korkeammalla arvolla mallin yläosan tuki kiinnittyy paremmin." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Tukilattian linjaetäisyys" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Tulostettujen tukilattialinjojen välinen etäisyys. Tämä asetus lasketaan tukilattian tiheysarvosta, mutta sitä voidaan säätää erikseen." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Siksak" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Tukikaton kuvio" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Tuen kattojen tulostuskuvio." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Linjat" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Ristikko" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Kolmiot" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Samankeskinen" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Samankeskinen 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Siksak" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Tukilattian kuvio" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Tuen lattioiden tulostuskuvio." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Linjat" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Ristikko" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Kolmiot" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Samankeskinen" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Samankeskinen 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Siksak" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Tarttuvuus" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Ota esitäyttöpisara käyttöön" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Tulostuslangan esitäyttö materiaalipisaralla ennen tulostusta. Tämän asetuksen käyttöönotolla varmistat, että suulakkeen suuttimessa on materiaalia valmiina ennen tulostusta. Myös helman tai reunuksen tulostaminen voi toimia esitäyttönä, jolloin tämän asetuksen käytöstä poisto säästää hieman aikaa." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Määrittää, mikä täyttöverkko on toisen täyttöverkon täytön sisällä. Korkeamman järjestyksen täyttöverkko muokkaa pienemmän järjestyksen täyttöverkkojen ja normaalien verkkojen täyttöä." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Leikkaava verkko" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Rajoita tämän verkon laajuus muiden verkkojen alueelle. Tällä voit määrittää tietyt yhden verkon alueet tulostumaan eri asetuksilla ja täysin eri suulakkeella." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Muotti" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Tulosta malleja muotteina, jotka voidaan valaa niin, että saadaan alustalla olevia malleja muistuttava malli." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Muotin vähimmäisleveys" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Muotin ulkoseinän ja mallin ulkoseinän välinen vähimmäisetäisyys." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Muotin katon korkeus" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Mallin vaakasuuntaisten osien yläpuolinen korkeus, jonka mukaan muotti tulostetaan." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Muotin kulma" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Muottia varten luotujen ulkoseinämien ulokkeiden kulma. 0° tekee muotin ulkokuoresta pystysuoran ja 90° saa muotin ulkopuolen seuraamaan mallin muotoja." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Käytä tätä verkkoa tukialueiden valintaan. Sen avulla voidaan luoda tukirakenne." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Tukiverkon pudottaminen alaspäin" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Muodosta tukea kaikkialle tukiverkon alla, niin ettei tukiverkossa ole ulokkeita." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Kierukoi ulompi ääriviiva" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Kierukointi pehmentää ulkoreunan Z-liikettä. Se muodostaa tasaisen Z-lisän koko tulosteelle. Tämä toiminto muuttaa umpinaisen mallin yksiseinäiseksi tulosteeksi, jossa on umpinainen pohja. Vanhemmissa versioissa tätä toimintoa kutsuttiin nimellä Joris." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Kierukointi pehmentää ulkoreunan Z-liikettä. Se muodostaa tasaisen Z-lisän koko tulosteelle. Tämä toiminto muuttaa umpinaisen mallin yksiseinäiseksi tulosteeksi, jossa on umpinainen pohja. Tämä toiminto kannattaa ottaa käyttöön vain, jos jokaisessa kerroksessa on vain yksi osa." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Kierukoitujen ääriviivojen tasoittaminen" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Vähennä Z-sauman näkyvyyttä tasoittamalla kierukoidut ääriviivat (Z-sauman pitäisi olla lähes näkymätön tulosteessa, mutta kerrosnäkymässä sen voi edelleen havaita). Ota huomioon, että tasoittaminen usein sumentaa pinnan pieniä yksityiskohtia." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Mallissa käytettävä muunnosmatriisi, kun malli ladataan tiedostosta." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Yhden tukiliittymän linjan leveys." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Kuution alajaon säde" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Säteen kerroin kunkin kuution keskipisteestä mallin rajojen tarkistamiseksi. Näin määritetään, tuleeko kuutioon tehdä alajako. Suuremmat arvot tuottavat enemmän alajakoja eli enemmän pieniä kuutioita." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Laajenna ylemmät pintakalvot" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Laajenna ylemmät pintakalvot (alueet, joiden yläpuolella on ilmaa) niin, että ne tukevat yläpuolista täyttöaluetta." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Laajenna alemmat pintakalvot" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Laajenna alemmat pintakalvot (alueet, joiden alapuolella on ilmaa) niin, että ylä- ja alapuoliset täyttökerrokset ankkuroivat ne." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Nopeus, jolla tuen katot ja alaosat tulostetaan. Niiden tulostus hitaammilla nopeuksilla voi parantaa ulokkeen laatua." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Kiihtyvyys, jolla tuen katot ja alaosat tulostetaan. Niiden tulostus hitaammilla kiihtyvyyksillä voi parantaa ulokkeen laatua." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Tuen kattojen ja alaosien tulostuksen nopeuden hetkellinen maksimimuutos." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Ota tuki käyttöön" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Ota tukirakenteet käyttöön. Nämä rakenteet tukevat mallin osia, joissa on merkittäviä ulokkeita." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Tuen kattojen ja alaosien tulostukseen käytettävä suulakeryhmä. Tätä käytetään monipursotuksessa." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Mallin päällä olevan porrasmaisen tuen pohjan portaiden korkeus. Matala arvo tekee tuesta vaikeamman poistaa, mutta liian korkeat arvot voivat johtaa epävakaisiin tukirakenteisiin." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Tuen alaosan paksuus" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Tuen alaosien paksuus. Tällä hallitaan sellaisten tiheiden kerrosten määrää, jotka tulostetaan mallin tukea kannattelevien kohtien päälle." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Kun tarkistat mallia tuen päällä, toimi annetun korkeuden mukaisesti. Pienemmillä arvoilla viipalointi tapahtuu hitaammin, ja korkeammat arvot saattavat aiheuttaa normaalin tuen tulostumisen paikkoihin, joissa olisi pitänyt olla tukiliittymä." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Säätää tukirakenteen kattojen ja alaosien tiheyttä. Korkeammat arvot tuottavat parempia ulokkeita, mutta tuet on vaikeampi poistaa." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Tukiliittymän linjaetäisyys" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Tulostettujen tukiliittymän linjojen välinen etäisyys. Tämä asetus lasketaan tukiliittymän tiheysarvosta, mutta sitä voidaan säätää erikseen." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Kierukointi pehmentää ulkoreunan Z-liikettä. Se muodostaa tasaisen Z-lisän koko tulosteelle. Tämä toiminto muuttaa umpinaisen mallin yksiseinäiseksi tulosteeksi, jossa on umpinainen pohja. Vanhemmissa versioissa tätä toimintoa kutsuttiin nimellä Joris." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Tulostuksessa käytettävä lämpötila. Aseta arvoon 0 esilämmittääksesi tulostimen manuaalisesti." diff --git a/resources/i18n/fr/cura.po b/resources/i18n/fr/cura.po index 62cfda3acf..1502147cb9 100644 --- a/resources/i18n/fr/cura.po +++ b/resources/i18n/fr/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fr\n" +"Language-Team: French\n" +"Language: French\n" +"Lang-Code: fr\n" +"Country-Code: FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Permet de modifier les paramètres de la machine (tels que volume d'impression, taille de buse, etc.)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Paramètres de la machine" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Afficher le récapitulatif des changements" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Aplatisseur de profil" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Créer un profil de changements de qualité aplati." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Aplatir les paramètres actifs" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Le profil a été aplati et activé." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Connecté via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Impossible de démarrer une nouvelle tâche car l'imprimante est occupée ou n'est pas connectée." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "L'imprimante ne prend pas en charge l'impression par USB car elle utilise UltiGCode parfum." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Impossible de démarrer une nouvelle tâche car l'imprimante ne prend pas en charge l'impression par USB." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Enregistrer sur un lecteur amovible {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Enregistrement sur le lecteur amovible {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Impossible d'enregistrer {0} : {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Enregistré sur le lecteur amovible {0} sous {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Ejecter" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Ejecter le lecteur amovible {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Impossible d'enregistrer sur le lecteur {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Lecteur {0} éjecté. Vous pouvez maintenant le retirer en tout sécurité." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ 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/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 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/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connecté sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 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/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "La demande d'accès a été refusée sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Échec de la demande d'accès à cause de la durée limite." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "La connexion avec le réseau a été perdue." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "La connexion avec l'imprimante a été perdue. Vérifiez que votre imprimante est connectée." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. L'état actuel de l'imprimante est %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. Pas de PrinterCore inséré dans la fente {0}." +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Impossible de démarrer une nouvelle tâche d'impression. Pas de PrintCore inséré dans la fente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. Pas de matériau chargé dans la fente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Pas suffisamment de matériau pour bobine {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore différent (Cura : {0}, Imprimante : {1}) sélectionné pour l'extrudeuse {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, 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/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Le PrintCore {0} n'est pas correctement calibré. Le calibrage XY doit être effectué sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 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/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuration différente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Envoi des données à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Impossible d'envoyer les données à l'imprimante. Une autre tâche est-elle toujours active ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Abandon de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Abandon de l'impression. Vérifiez l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Mise en pause de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Reprise de l'impression..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniser avec votre imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 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/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores 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." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Ignorer" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Profils matériels" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Offre la possibilité de lire et d'écrire des profils matériels basés sur XML." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Couches" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 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/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Mise à niveau de 2.4 vers 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Mise à niveau de 2.5 vers 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Configurations des mises à niveau de Cura 2.4 vers Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Configurations des mises à niveau de Cura 2.5 vers Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Image GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Le matériau sélectionné est incompatible avec la machine ou la configuration sélectionnée." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, 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:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 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:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 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." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Fournit le lien vers l'arrière du système de découpage CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Traitement des couches" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Configurer les paramètres par modèle" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommandé" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Personnalisé" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "Lecteur 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Fournit la prise en charge de la lecture de fichiers 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Fichier 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Buse" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Fichier G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analyse du G-Code" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profil Cura" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "Générateur 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Permet l'écriture de fichiers 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "Fichier 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Projet Cura fichier 3MF" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Actions de la machine Ultimaker" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Fournit les actions de la machine pour les machines Ultimaker (telles que l'assistant de calibration du plateau, sélection des mises à niveau, etc.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Sélectionner les mises à niveau" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Actions de la machine Ultimaker" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Fournit les actions de la machine pour les machines Ultimaker (telles que l'assistant de calibration du plateau, sélection des mises à niveau, etc.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Fournit la prise en charge de l'importation de profils Cura." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Matériau inconnu" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Recherche d'un nouvel emplacement pour les objets" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Impossible de trouver un emplacement dans le volume d'impression pour tous les objets" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Le fichier existe déjà" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Le fichier {0} existe déjà. Êtes vous sûr de vouloir le remplacer ?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Impossible de trouver un profil de qualité pour cette combinaison. Les paramètres par défaut seront utilisés à la place." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Personnalisé" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Matériau personnalisé" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Échec de l'exportation du profil vers {0} : {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Échec de l'exportation du profil vers {0} : Le plug-in du générateur a rapporté une erreur." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Profil exporté vers {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Échec de l'importation du profil depuis le fichier {0} : {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Importation du profil {0} réussie" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Le profil {0} est un type de fichier inconnu ou est corrompu." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Personnaliser le profil" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Il manque un type de qualité au profil." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Impossible de trouver un type de qualité {0} pour la configuration actuelle." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "La hauteur du volume d'impression a été réduite en raison de la valeur du paramètre « Séquence d'impression » afin d'éviter que le portique ne heurte les modèles imprimés." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oups !" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Multiplication et placement d'objets" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Rapport d'incident" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Une erreur fatale que nous ne pouvons résoudre s'est produite !

\n

Nous espérons que cette image d'un chaton vous aidera à vous remettre du choc.

\n

Veuillez utiliser les informations ci-dessous pour envoyer un rapport d'erreur à http://github.com/Ultimaker/Cura/issues

" +msgstr "

Une erreur fatale que nous ne pouvons résoudre s'est produite !

\n

Veuillez utiliser les informations ci-dessous pour envoyer un rapport d'erreur à http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Ouvrir la page Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Chargement des machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Préparation de la scène..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Chargement de l'interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, 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:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, 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/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Paramètres de la machine" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Indiquez les bons paramètres pour votre imprimante ci-dessous :" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Imprimante" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Paramètres de l'imprimante" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Largeur)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Profondeur)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Hauteur)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Forme du plateau" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Le centre de la machine est zéro" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Plateau chauffant" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "GCode Parfum" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Paramètres de la tête d'impression" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Hauteur du portique" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Nombre d'extrudeuses" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Diamètre du matériau" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Taille de la buse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Début Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Fin Gcode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Paramètres de la buse" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Décalage buse X" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Décalage buse Y" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Extrudeuse Gcode de démarrage" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Extrudeuse Gcode de fin" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Paramètres Doodle3D" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Enregistrer" @@ -1121,7 +1219,7 @@ msgstr "Température de l'extrudeuse : %1/%2 °C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Imprimer" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Code erreur inconnue : %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connecter à l'imprimante en réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "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\nSélectionnez votre imprimante dans la liste ci-dessous :" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Ajouter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Modifier" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Supprimer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Rafraîchir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 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/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Inconnu" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Version du firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 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/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Connecter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Adresse de l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 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/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifier les scripts de post-traitement actifs" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Mode d’affichage : couches" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Modèle de couleurs" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Couleur du matériau" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Type de ligne" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Mode de compatibilité" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extrudeur %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Afficher les déplacements" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Afficher les aides" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Afficher la coque" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Afficher le remplissage" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Afficher uniquement les couches supérieures" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Afficher 5 niveaux détaillés en haut" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Haut / bas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Paroi interne" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Lissage" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Imprimer le modèle avec" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Sélectionner les paramètres" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 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:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrer..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Afficher tout" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Ouvrir un projet" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Mettre à jour l'existant" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Créer" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Résumé - Projet Cura" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Paramètres de l'imprimante" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Comment le conflit de la machine doit-il être résolu ?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Nom" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Paramètres de profil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Comment le conflit du profil doit-il être résolu ?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Absent du profil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 écrasent" msgstr[1] "%1 écrase" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Dérivé de" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 écrasent" msgstr[1] "%1, %2 écrase" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Paramètres du matériau" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Comment le conflit du matériau doit-il être résolu ?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Visibilité des paramètres" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Mode" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Paramètres visibles :" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 sur %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Le chargement d'un projet effacera tous les modèles sur le plateau" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Ouvrir" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Sélectionner les mises à niveau de l'imprimante" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Sélectionnez les mises à niveau disponibles pour cet Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Blocage Olsson" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Sélectionner le firmware personnalisé" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Sélectionner les mises à niveau de l'imprimante" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "L'imprimante n'accepte pas les commandes" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "En maintenance. Vérifiez l'imprimante" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Connexion avec l'imprimante perdue" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Impression..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "En pause" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Préparation..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Êtes-vous sûr(e) de vouloir abandonner l'impression ?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Annuler ou conserver les modifications" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 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.\nSouhaitez-vous conserver ces changements, ou les annuler ?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Paramètres du profil" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Par défaut" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Personnalisé" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Toujours me demander" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Annuler et ne plus me demander" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Conserver et ne plus me demander" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Annuler" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Conserver" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Créer un nouveau profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Informations" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Afficher le nom" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marque" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Type de matériau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Couleur" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Propriétés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Densité" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diamètre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Coût du filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Poids du filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Longueur du filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Coût au mètre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Ce matériau est lié à %1 et partage certaines de ses propriétés." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Délier le matériau" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Description" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Informations d'adhérence" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Paramètres d'impression" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Unité" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Général" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Langue :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Devise :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Vous devez redémarrer l'application pour que les changements de langue prennent effet." +msgid "Theme:" +msgstr "Thème :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +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:280 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:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Découper automatiquement" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportement Viewport" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 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:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Mettre en surbrillance les porte-à-faux" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Bouge la caméra afin que le modèle sélectionné se trouve au centre de la vue." +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:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 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:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +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:346 +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:355 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:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 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:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 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:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 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:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Afficher le message d'avertissement dans le lecteur gcode." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Message d'avertissement dans lecteur gcode." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 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:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 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:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Ouvrir et enregistrer des fichiers" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 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:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 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:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 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:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 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:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 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:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 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:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 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:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +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:491 +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:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Toujours demander" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Toujours ouvrir comme projet" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Toujours importer les modèles" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Écraser le profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Confidentialité" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 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:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 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:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Envoyer des informations (anonymes) sur l'impression" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Imprimantes" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Activer" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Type d'imprimante :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Connexion :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "L'imprimante n'est pas connectée." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "État :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "En attente du dégagement du plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "En attente d'une tâche d'impression" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profils" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Dupliquer" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Importer" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Exporter" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Exporter un profil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Matériaux" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Imprimante : %1, %2 : %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Imprimante : %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Créer" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Dupliquer" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Importer un matériau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Impossible d'importer le matériau %1 : %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Matériau %1 importé avec succès" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Exporter un matériau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Échec de l'export de matériau vers %1 : %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Matériau exporté avec succès vers %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Ajouter une imprimante" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Ajouter une imprimante" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Paroi externe" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Parois internes" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Couche extérieure" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Remplissage" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Remplissage du support" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interface du support" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Support" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Déplacement" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Rétractions" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Autre" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00 h 00 min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "Icônes SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Rechercher..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 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:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Afficher ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurer la visibilité des paramètres..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuration de l'impression recommandée

Imprimer avec les paramètres recommandés pour l'imprimante, le matériau et la qualité sélectionnés." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuration de l'impression personnalisée

Imprimer avec un contrôle fin de chaque élément du processus de découpe." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatique : %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatique : %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Imprimer le modèle sélectionné avec :" +msgstr[1] "Imprimer les modèles sélectionnés avec :" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplier le modèle sélectionné" +msgstr[1] "Multiplier les modèles sélectionnés" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Nombre de copies" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Durée restante estimée" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Passer en P&lein écran" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Annuler" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Rétablir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Quitter" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurer Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Ajouter une imprimante..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Gérer les &imprimantes..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Gérer les matériaux..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Mettre à jour le profil à l'aide des paramètres / forçages actuels" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Ignorer les modifications actuelles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Créer un profil à partir des paramètres / forçages actuels..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Gérer les profils..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Afficher la &documentation en ligne" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Notifier un &bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&À propos de..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "&Supprimer la sélection" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Supprimer le modèle &sélectionné" +msgstr[1] "Supprimer les modèles &sélectionnés" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Centrer le modèle sélectionné" +msgstr[1] "Centrer les modèles sélectionnés" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplier le modèle sélectionné" +msgstr[1] "Multiplier les modèles sélectionnés" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Supprimer le modèle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntrer le modèle sur le plateau" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Grouper les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Dégrouper les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Fusionner les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplier le modèle..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Sélectionner tous les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Supprimer les objets du plateau" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Rechar&ger tous les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Réorganiser tous les modèles" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Réorganiser la sélection" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Réinitialiser toutes les positions des modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Réinitialiser tous les modèles et transformations" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Ouvrir un fichier..." +msgid "&Open File(s)..." +msgstr "&Ouvrir le(s) fichier(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Ouvrir un projet..." +msgid "&New Project..." +msgstr "&Nouveau projet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Afficher le &journal du moteur..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Afficher le dossier de configuration" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurer la visibilité des paramètres..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Multiplier le modèle" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Découpe indisponible" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Préparer" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Sélectionner le périphérique de sortie actif" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Ouvrir le(s) fichier(s)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Nous avons trouvé au moins un fichier de projet parmi les fichiers que vous avez sélectionnés. Vous ne pouvez ouvrir qu'un seul fichier de projet à la fois. Nous vous conseillons de n'importer que les modèles de ces fichiers. Souhaitez-vous continuer ?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Importer tout comme modèles" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Fichier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "Enregi&strer la sélection dans un fichier" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Enregistrer &tout" +msgid "Save &As..." +msgstr "Enregistrer &sous..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Enregistrer le projet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Modifier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Visualisation" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "Im&primante" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Matériau" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Définir comme extrudeur actif" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensions" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&références" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Aide" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Ouvrir un fichier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Mode d’affichage" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Ouvrir un fichier" +msgid "New project" +msgstr "Nouveau projet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Êtes-vous sûr(e) de souhaiter lancer un nouveau projet ? Cela supprimera les objets du plateau ainsi que tous paramètres non enregistrés." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Ouvrir l'espace de travail" +msgid "Open File(s)" +msgstr "Ouvrir le(s) fichier(s)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Nous avons trouvé au moins un fichier G-Code parmi les fichiers que vous avez sélectionné. Vous ne pouvez ouvrir qu'un seul fichier G-Code à la fois. Si vous souhaitez ouvrir un fichier G-Code, veuillez ne sélectionner qu'un seul fichier de ce type." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Enregistrer le projet" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extrudeuse %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & matériau" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Ne pas afficher à nouveau le résumé du projet lors de l'enregistrement" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Remplissage" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Creux" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "L'absence de remplissage (0 %) laissera votre modèle creux pour une solidité faible" +msgid "0%" +msgstr "0 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Clairsemé" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Un remplissage vide laissera votre modèle creux pour une solidité faible." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Un remplissage clairsemé (20 %) donnera à votre modèle une solidité moyenne" +msgid "20%" +msgstr "20 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Dense" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Un remplissage clairsemé (20 %) donnera à votre modèle une solidité moyenne." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Un remplissage dense (50 %) donnera à votre modèle une solidité supérieure à la moyenne" +msgid "50%" +msgstr "50 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solide" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Un remplissage dense (50 %) donnera à votre modèle une solidité supérieure à la moyenne." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Un remplissage solide (100 %) rendra votre modèle vraiment résistant" +msgid "100%" +msgstr "100 %" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Activer les supports" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Un remplissage solide (100 %) rendra votre modèle vraiment résistant." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Active les structures de support. Ces structures soutiennent les modèles présentant d'importants porte-à-faux." +msgid "Gradual" +msgstr "Graduel" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Un remplissage graduel augmentera la quantité de remplissage vers le haut." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Générer les supports" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Générer des structures pour soutenir les parties du modèle qui possèdent des porte-à-faux. Sans ces structures, ces parties s'effondreront durant l'impression." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Extrudeuse de soutien" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Sélectionnez l'extrudeur à utiliser comme support. Cela créera des structures de support sous le modèle afin de l'empêcher de s'affaisser ou de s'imprimer dans les airs." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adhérence au plateau" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Activez l'impression d'une bordure ou plaquette (Brim/Raft). Cela ajoutera une zone plate autour de ou sous votre objet qui est facile à découper par la suite." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Besoin d'aide pour améliorer vos impressions ? Lisez les Guides de dépannage Ultimaker" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Besoin d'aide pour améliorer vos impressions ?
Lisez les Guides de dépannage Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Imprimer le modèle sélectionné avec %1" +msgstr[1] "Imprimer les modèles sélectionnés avec %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Ouvrir un fichier de projet" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Ceci est un fichier de projet Cura. Souhaitez-vous l'ouvrir comme projet ou en importer les modèles ?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Se souvenir de mon choix" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Ouvrir comme projet" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Importer les modèles" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Matériau" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Cliquez ici pour vérifier la compatibilité des matériaux sur Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profil :" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,129 @@ msgid "" "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\nCliquez pour ouvrir le gestionnaire de profils." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Impossible de démarrer une nouvelle tâche d'impression car l'imprimante est occupée. Pas de PrinterCore inséré dans la fente {0}." + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Mise à niveau de 2.4 vers 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Configurations des mises à niveau de Cura 2.4 vers Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Impossible de trouver un profil de qualité pour cette combinaison. Les paramètres par défaut seront utilisés à la place." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Oups !" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Une erreur fatale que nous ne pouvons résoudre s'est produite !

\n" +#~ "

Nous espérons que cette image d'un chaton vous aidera à vous remettre du choc.

\n" +#~ "

Veuillez utiliser les informations ci-dessous pour envoyer un rapport d'erreur à http://github.com/Ultimaker/Cura/issues

" + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Indiquez les bons paramètres pour votre imprimante ci-dessous :" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extrudeur %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Imprimer le modèle avec" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Vous devez redémarrer l'application pour que les changements de langue prennent effet." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Bouge la caméra afin que le modèle sélectionné se trouve au centre de la vue." + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "&Supprimer la sélection" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Ouvrir un fichier..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Ouvrir un projet..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Multiplier le modèle" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Enregistrer &tout" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Ouvrir un fichier" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Ouvrir l'espace de travail" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Creux" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "L'absence de remplissage (0 %) laissera votre modèle creux pour une solidité faible" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Clairsemé" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Un remplissage clairsemé (20 %) donnera à votre modèle une solidité moyenne" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Dense" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Un remplissage dense (50 %) donnera à votre modèle une solidité supérieure à la moyenne" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Solide" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Un remplissage solide (100 %) rendra votre modèle vraiment résistant" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Activer les supports" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Active les structures de support. Ces structures soutiennent les modèles présentant d'importants porte-à-faux." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Besoin d'aide pour améliorer vos impressions ? Lisez les Guides de dépannage Ultimaker" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Connecté sur le réseau à {0}. Veuillez approuver la demande d'accès sur l'imprimante." diff --git a/resources/i18n/fr/fdmextruder.def.json.po b/resources/i18n/fr/fdmextruder.def.json.po index 1491c70b7c..f3e5474717 100644 --- a/resources/i18n/fr/fdmextruder.def.json.po +++ b/resources/i18n/fr/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fr\n" +"Language-Team: French\n" +"Language: French\n" +"Lang-Code: fr\n" +"Country-Code: FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Le train d'extrudeuse utilisé pour l'impression. Cela est utilisé en multi-extrusion." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Diamètre de la buse" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Le diamètre intérieur de la buse. Modifiez ce paramètre si vous utilisez une taille de buse non standard." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/fr/fdmprinter.def.json.po b/resources/i18n/fr/fdmprinter.def.json.po index e7d743bb17..786815301b 100644 --- a/resources/i18n/fr/fdmprinter.def.json.po +++ b/resources/i18n/fr/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fr\n" +"Language-Team: French\n" +"Language: French\n" +"Lang-Code: fr\n" +"Country-Code: FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Largeur de ligne d'interface de support" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Largeur d'une seule ligne d'interface de support." +msgid "Width of a single line of support roof or floor." +msgstr "Largeur d'une seule ligne de plafond ou de bas de support." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Largeur de ligne de plafond de support" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Largeur d'une seule ligne de plafond de support." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Largeur de ligne de bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Largeur d'une seule ligne de bas de support." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Une liste de sens de ligne (exprimés en nombres entiers) à utiliser. Les éléments de la liste sont utilisés de manière séquentielle à mesure de l'avancement des couches. La liste reprend depuis le début lorsque la fin est atteinte. Les éléments de la liste sont séparés par des virgules et la liste entière est encadrée entre crochets. La valeur par défaut est une liste vide, ce qui signifie que les angles traditionnels par défaut seront utilisés (45 et 135 degrés pour les motifs en lignes et en zig zag et 45 degrés pour tout autre motif)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Rayon de la subdivision cubique" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Remplissage en spaghettis" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Un multiplicateur du rayon à partir du centre de chaque cube pour vérifier la bordure du modèle, afin de décider si ce cube doit être subdivisé. Des valeurs plus importantes entraînent plus de subdivisions et donc des cubes plus petits." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Imprime régulièrement le remplissage afin que les filaments s'enroulent de manière chaotique à l'intérieur de l'objet. Cela permet de réduire le temps d'impression, mais le comportement sera assez imprévisible." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Angle maximal de remplissage en spaghettis" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "L'angle maximal pour l'axe Z de l'intérieur de l'impression pour les zones à remplir ensuite par remplissage en spaghettis. Le fait de réduire cette valeur entraînera le remplissage de plus de parties inclinées sur chaque couche dans votre modèle." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Hauteur maximale du remplissage en spaghettis" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "La hauteur maximale de l'espace intérieur qui peut être combiné et rempli depuis le haut." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Insert en spaghettis" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Le décalage à partir des parois depuis lesquelles le remplissage en spaghettis sera imprimé." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Flux en spaghettis" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Ajuste la densité du remplissage en spaghettis. Veuillez noter que la densité de remplissage ne contrôle que l'espacement de ligne du motif de remplissage, et non le montant d'extrusion du remplissage en spaghettis." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,22 +1274,22 @@ msgstr "Étendre les zones de couche extérieure du haut et / ou du bas des su #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Étendre les couches extérieures supérieures" +msgid "Expand Top Skins Into Infill" +msgstr "Étendre les couches extérieures supérieures dans le remplissage" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." -msgstr "Étendre les zones de couches extérieures supérieures (zones ayant de l'air au-dessus d'elles) de sorte que le remplissage au-dessus repose sur elles." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "Étendre les zones de couches extérieures supérieures (zones ayant de l'air au-dessus d'elles) de sorte à ce que le remplissage au-dessus repose sur elles." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Étendre les couches extérieures inférieures" +msgid "Expand Bottom Skins Into Infill" +msgstr "Étendre les couches extérieures inférieures dans le remplissage" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." msgstr "Étendre les zones de couches extérieures inférieures (zones ayant de l'air en-dessous d'elles) de sorte à ce qu'elles soient ancrées par les couches de remplissage au-dessus et en-dessous." #: fdmprinter.def.json @@ -1638,9 +1699,29 @@ msgstr "Vitesse d'impression de l'interface de support" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." msgstr "La vitesse à laquelle les plafonds et bas de support sont imprimés. Les imprimer à de plus faibles vitesses améliore la qualité des porte-à-faux." +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Vitesse d'impression des plafonds de support" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "La vitesse à laquelle les plafonds de support sont imprimés. Les imprimer à de plus faibles vitesses améliore la qualité des porte-à-faux." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Vitesse d'impression des bas de support" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "La vitesse à laquelle le bas de support est imprimé. L'impression à une vitesse plus faible permet de renforcer l'adhésion du support au-dessus de votre modèle." + #: fdmprinter.def.json msgctxt "speed_prime_tower label" msgid "Prime Tower Speed" @@ -1838,8 +1919,28 @@ msgstr "Accélération de l'interface du support" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "L'accélération selon laquelle les plafonds et bas de support sont imprimés. Les imprimer avec des accélérations plus faibles améliore la qualité des porte-à-faux." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "L'accélération selon laquelle les plafonds et bas de support sont imprimés. Les imprimer avec une accélération plus faible améliore la qualité des porte-à-faux." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Accélération des plafonds de support" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "L'accélération selon laquelle les plafonds de support sont imprimés. Les imprimer avec une accélération plus faible améliore la qualité des porte-à-faux." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Accélération des bas de support" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "L'accélération selon laquelle les bas de support sont imprimés. Les imprimer avec une accélération plus faible renforce l'adhésion du support au-dessus du modèle." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,9 +2099,29 @@ msgstr "Saccade de l'interface de support" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." msgstr "Le changement instantané maximal de vitesse selon lequel les plafonds et bas sont imprimés." +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Saccade des plafonds de support" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Le changement instantané maximal de vitesse selon lequel les plafonds de support sont imprimés." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Saccade des bas de support" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Le changement instantané maximal de vitesse selon lequel les bas de support sont imprimés." + #: fdmprinter.def.json msgctxt "jerk_prime_tower label" msgid "Prime Tower Jerk" @@ -2328,13 +2449,13 @@ msgstr "Supports" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Activer les supports" +msgid "Generate Support" +msgstr "Générer les supports" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Active les supports. Ces supports soutiennent les modèles présentant d'importants porte-à-faux." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Générer des structures pour soutenir les parties du modèle qui possèdent des porte-à-faux. Sans ces structures, ces parties s'effondreront durant l'impression." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,9 +2494,29 @@ msgstr "Extrudeuse de l'interface du support" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." msgstr "Le train d'extrudeuse à utiliser pour l'impression des plafonds et bas du support. Cela est utilisé en multi-extrusion." +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Extrudeuse des plafonds de support" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Le train d'extrudeuse à utiliser pour l'impression des plafonds du support. Cela est utilisé en multi-extrusion." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Extrudeuse des bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Le train d'extrudeuse à utiliser pour l'impression des bas du support. Cela est utilisé en multi-extrusion." + #: fdmprinter.def.json msgctxt "support_type label" msgid "Support Placement" @@ -2553,8 +2694,18 @@ msgstr "Hauteur de la marche de support" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "La hauteur de la marche du support en forme d'escalier reposant sur le modèle. Une valeur faible rend le support plus difficile à enlever, mais des valeurs trop élevées peuvent entraîner des supports instables." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "La hauteur de la marche du support en forme d'escalier reposant sur le modèle. Une valeur faible rend le support plus difficile à enlever, mais des valeurs trop élevées peuvent entraîner des supports instables. Définir la valeur sur zéro pour désactiver le comportement en forme d'escalier." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Largeur maximale de la marche de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "La largeur maximale de la marche du support en forme d'escalier reposant sur le modèle. Une valeur faible rend le support plus difficile à enlever, mais des valeurs trop élevées peuvent entraîner des supports instables." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Générer une interface dense entre le modèle et le support. Cela créera une couche sur le dessus du support sur lequel le modèle est imprimé et sur le dessous du support sur lequel le modèle repose." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Activer les plafonds de support" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Générer une plaque dense de matériau entre le plafond du support et le modèle. Cela créera une couche extérieure entre le modèle et le support." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Activer les bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Générer une plaque dense de matériau entre le bas du support et le modèle. Cela créera une couche extérieure entre le modèle et le support." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,12 +2779,12 @@ msgstr "L'épaisseur des plafonds de support. Cela contrôle la quantité de cou #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" +msgid "Support Floor Thickness" msgstr "Épaisseur du bas de support" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." msgstr "L'épaisseur des bas de support. Cela contrôle le nombre de couches denses imprimées sur le dessus des endroits d'un modèle sur lequel le support repose." #: fdmprinter.def.json @@ -2623,8 +2794,8 @@ msgstr "Résolution de l'interface du support" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Lors de la vérification de l'emplacement d'un modèle au-dessus du support, effectue des étapes de la hauteur définie. Des valeurs plus faibles découperont plus lentement, tandis que des valeurs plus élevées peuvent causer l'impression d'un support normal à des endroits où il devrait y avoir une interface de support." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Lors de la vérification de l'emplacement d'un modèle au-dessus et en-dessous du support, effectuer des étapes de la hauteur définie. Des valeurs plus faibles découperont plus lentement, tandis que des valeurs plus élevées peuvent causer l'impression d'un support normal à des endroits où il devrait y avoir une interface de support." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Densité de l'interface de support" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." msgstr "Ajuste la densité des plafonds et bas de la structure de support. Une valeur plus élevée résulte en de meilleurs porte-à-faux, mais les supports sont plus difficiles à enlever." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Distance d'écartement de ligne d'interface de support" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Densité du plafond de support" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Distance entre les lignes d'interface de support imprimées. Ce paramètre est calculé par la densité de l'interface de support mais peut également être défini séparément." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "La densité des plafonds de la structure de support. Une valeur plus élevée résulte en de meilleurs porte-à-faux, mais les supports sont plus difficiles à enlever." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Distance d'écartement de ligne du plafond de support" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Distance entre les lignes du plafond de support imprimées. Ce paramètre est calculé par la densité du plafond de support mais peut également être défini séparément." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Densité du bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "La densité des bas de la structure de support. Une valeur plus élevée résulte en une meilleure adhésion du support au-dessus du modèle." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Distance d'écartement de ligne de bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Distance entre les lignes du bas de support imprimées. Ce paramètre est calculé par la densité du bas de support mais peut également être défini séparément." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Motif du plafond de support" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Le motif d'impression pour les plafonds de support." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Lignes" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Grille" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Triangles" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Concentrique" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentrique 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Motif du bas de support" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Le motif d'impression pour les bas de support." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Lignes" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Grille" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Triangles" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concentrique" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentrique 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Adhérence" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Activer la goutte de préparation" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Préparer les filaments avec une goutte avant l'impression. Ce paramètre permet d'assurer que l'extrudeuse disposera de matériau prêt au niveau de la buse avant l'impression. La jupe/bordure d'impression peut également servir de préparation, auquel cas le fait de laisser ce paramètre désactivé permet de gagner un peu de temps." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Détermine quelle maille de remplissage se trouve à l'intérieur du remplissage d'une autre maille de remplissage. Une maille de remplissage possédant un ordre plus élevé modifiera le remplissage des mailles de remplissage ayant un ordre plus bas et des mailles normales." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Maille de coupe" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Limiter le volume de ce maillage à celui des autres maillages. Cette option permet de faire en sorte que certaines zones d'un maillage s'impriment avec des paramètres différents et avec une extrudeuse entièrement différente." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Moule" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Imprimer les modèles comme moule, qui peut être coulé afin d'obtenir un modèle ressemblant à ceux présents sur le plateau." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Largeur minimale de moule" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "La distance minimale entre l'extérieur du moule et l'extérieur du modèle." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Hauteur du plafond de moule" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "La hauteur au-dessus des parties horizontales dans votre modèle pour laquelle imprimer le moule." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Angle du moule" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "L'angle de porte-à-faux des parois externes créées pour le moule. La valeur 0° rendra la coque externe du moule verticale, alors que 90° fera que l'extérieur du modèle suive les contours du modèle." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Utiliser ce maillage pour spécifier des zones de support. Cela peut être utilisé pour générer une structure de support." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Maillage de support descendant" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Inclure du support à tout emplacement sous le maillage de support, de sorte à ce qu'il n'y ait pas de porte-à-faux dans le maillage de support." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Spiraliser le contour extérieur" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Cette fonction ajuste le déplacement en Z sur le bord extérieur. Cela va créer une augmentation stable de Z sur toute l’impression. Cette fonction transforme un modèle solide en une impression à paroi unique avec une base solide. Dans les versions précédentes, cette fonction s’appelait « Joris »." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Cette fonction ajuste le déplacement en Z sur le bord extérieur. Cela va créer une augmentation stable de Z sur toute l’impression. Cette fonction transforme un modèle solide en une impression à paroi unique avec une base solide. Cette fonctionnalité doit être activée seulement lorsque chaque couche contient uniquement une seule partie." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Lisser les contours spiralisés" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Lisser les contours spiralisés pour réduire la visibilité de la jointure en Z (la jointure en Z doit être à peine visible sur l'impression mais sera toujours visible dans la vue en couches). Veuillez remarquer que le lissage aura tendance à estomper les détails fins de la surface." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice de transformation à appliquer au modèle lors de son chargement depuis le fichier." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Largeur d'une seule ligne d'interface de support." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Rayon de la subdivision cubique" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Un multiplicateur du rayon à partir du centre de chaque cube pour vérifier la bordure du modèle, afin de décider si ce cube doit être subdivisé. Des valeurs plus importantes entraînent plus de subdivisions et donc des cubes plus petits." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Étendre les couches extérieures supérieures" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Étendre les zones de couches extérieures supérieures (zones ayant de l'air au-dessus d'elles) de sorte que le remplissage au-dessus repose sur elles." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Étendre les couches extérieures inférieures" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Étendre les zones de couches extérieures inférieures (zones ayant de l'air en-dessous d'elles) de sorte à ce qu'elles soient ancrées par les couches de remplissage au-dessus et en-dessous." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "La vitesse à laquelle les plafonds et bas de support sont imprimés. Les imprimer à de plus faibles vitesses améliore la qualité des porte-à-faux." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "L'accélération selon laquelle les plafonds et bas de support sont imprimés. Les imprimer avec des accélérations plus faibles améliore la qualité des porte-à-faux." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Le changement instantané maximal de vitesse selon lequel les plafonds et bas sont imprimés." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Activer les supports" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Active les supports. Ces supports soutiennent les modèles présentant d'importants porte-à-faux." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Le train d'extrudeuse à utiliser pour l'impression des plafonds et bas du support. Cela est utilisé en multi-extrusion." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "La hauteur de la marche du support en forme d'escalier reposant sur le modèle. Une valeur faible rend le support plus difficile à enlever, mais des valeurs trop élevées peuvent entraîner des supports instables." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Épaisseur du bas de support" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "L'épaisseur des bas de support. Cela contrôle le nombre de couches denses imprimées sur le dessus des endroits d'un modèle sur lequel le support repose." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Lors de la vérification de l'emplacement d'un modèle au-dessus du support, effectue des étapes de la hauteur définie. Des valeurs plus faibles découperont plus lentement, tandis que des valeurs plus élevées peuvent causer l'impression d'un support normal à des endroits où il devrait y avoir une interface de support." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Ajuste la densité des plafonds et bas de la structure de support. Une valeur plus élevée résulte en de meilleurs porte-à-faux, mais les supports sont plus difficiles à enlever." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Distance d'écartement de ligne d'interface de support" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Distance entre les lignes d'interface de support imprimées. Ce paramètre est calculé par la densité de l'interface de support mais peut également être défini séparément." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Cette fonction ajuste le déplacement en Z sur le bord extérieur. Cela va créer une augmentation stable de Z sur toute l’impression. Cette fonction transforme un modèle solide en une impression à paroi unique avec une base solide. Dans les versions précédentes, cette fonction s’appelait « Joris »." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "La température utilisée pour l'impression. Définissez-la sur 0 pour préchauffer manuellement l'imprimante." diff --git a/resources/i18n/it/cura.po b/resources/i18n/it/cura.po index 921db7b5a7..a19538ff3c 100644 --- a/resources/i18n/it/cura.po +++ b/resources/i18n/it/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: es\n" +"Language-Team: Italian\n" +"Language: Italian\n" +"Lang-Code: it\n" +"Country-Code: IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Fornisce un modo per modificare le impostazioni della macchina (come il volume di stampa, la dimensione ugello, ecc.)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Impostazioni macchina" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Visualizza registro modifiche" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Appiattitore di profilo" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Crea un profilo appiattito." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Impostazioni attive profilo appiattito" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Il profilo è stato appiattito e attivato." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Connesso tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante è occupata o non collegata." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Questa stampante non supporta la stampa tramite USB in quanto utilizza la versione UltiGCode." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante non supporta la stampa tramite USB." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Salva su unità rimovibile {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Salvataggio su unità rimovibile {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Impossibile salvare {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Salvato su unità rimovibile {0} come {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Rimuovi" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Rimuovi il dispositivo rimovibile {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Impossibile salvare su unità rimovibile {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Espulso {0}. È ora possibile rimuovere in modo sicuro l'unità." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Invia la richiesta di accesso alla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 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/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Collegato alla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 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/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Richiesta di accesso negata sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Richiesta di accesso non riuscita per superamento tempo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Il collegamento con la rete si è interrotto." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Il collegamento con la stampante si è interrotto. Controllare la stampante per verificare se è collegata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Impossibile avviare un nuovo processo di stampa perché la stampante è occupata. Stato stampante corrente %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Impossibile avviare un nuovo processo di stampa. Nessun PrinterCore caricato nello slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Impossibile avviare un nuovo processo di stampa. Nessun Printcore caricato nello slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Impossibile avviare un nuovo processo di stampa. Nessun materiale caricato nello slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Materiale per la bobina insufficiente {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore diverso (Cura: {0}, Stampante: {1}) selezionato per l’estrusore {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, 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/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Print core {0} non correttamente calibrato. Eseguire la calibrazione XY sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 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/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mancata corrispondenza della configurazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Invio dati alla stampante in corso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Impossibile inviare i dati alla stampante. Altro processo ancora attivo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Interruzione stampa in corso..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Stampa interrotta. Controllare la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Messa in pausa stampa..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Ripresa stampa..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizzazione con la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 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/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "I PrintCore e/o i materiali della stampante sono diversi da quelli del progetto corrente. Per ottenere i migliori risultati, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Ignora" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Profili del materiale" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Offre la possibilità di leggere e scrivere profili di materiali basati su XML." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Strati" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 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/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Aggiornamento della versione da 2.4 a 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Aggiornamento della versione da 2.5 a 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Aggiorna le configurazioni da Cura 2.4 a Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Aggiorna le configurazioni da Cura 2.5 a Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Immagine GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Il materiale selezionato è incompatibile con la macchina o la configurazione selezionata." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, 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:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 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:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 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à." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Fornisce il collegamento al back-end di sezionamento CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Elaborazione dei livelli" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Configura impostazioni per modello" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Consigliata" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizzata" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "Lettore 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Fornisce il supporto per la lettura di file 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "File 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Ugello" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "File G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing codice G" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profilo Cura" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "Writer 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Fornisce il supporto per la scrittura di file 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "File 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "File 3MF Progetto Cura" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Azioni della macchina Ultimaker" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Fornisce azioni macchina per le macchine Ultimaker (come la procedura guidata di livellamento del piano di stampa, la selezione degli aggiornamenti, ecc.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Seleziona aggiornamenti" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Azioni della macchina Ultimaker" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Fornisce azioni macchina per le macchine Ultimaker (come la procedura guidata di livellamento del piano di stampa, la selezione degli aggiornamenti, ecc.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Fornisce supporto per l'importazione dei profili Cura." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Materiale sconosciuto" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Ricerca nuova posizione per gli oggetti" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Impossibile individuare una posizione nel volume di stampa per tutti gli oggetti" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Il file esiste già" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Il file {0} esiste già. Sei sicuro di voler sovrascrivere?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Impossibile trovare un profilo di qualità per questa combinazione. Saranno utilizzate le impostazioni predefinite." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Personalizzata" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Materiale personalizzato" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Impossibile esportare profilo su {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Impossibile esportare profilo su {0}: Errore di plugin writer." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Profilo esportato su {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Impossibile importare profilo da {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profilo importato correttamente {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Il profilo {0} ha un tipo di file sconosciuto o corrotto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Profilo personalizzato" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Il profilo è privo del tipo di qualità." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Impossibile trovare un tipo qualità {0} per la configurazione corrente." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "L’altezza del volume di stampa è stata ridotta a causa del valore dell’impostazione \"Sequenza di stampa” per impedire la collisione del gantry con i modelli stampati." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oops!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Moltiplicazione e collocazione degli oggetti" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Rapporto su crash" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Si è verificata un'eccezione fatale impossibile da ripristinare!

\n

Ci auguriamo che l’immagine di questo gattino vi aiuti a superare lo shock.

\n

Utilizzare le informazioni riportate di seguito per pubblicare una segnalazione errori all'indirizzo http://github.com/Ultimaker/Cura/issues

" +msgstr "

Si è verificata un'eccezione fatale che non stato possibile superare!

\n

Utilizzare le informazioni sotto riportate per inviare un rapporto sull'errore a http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Apri pagina Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Caricamento macchine in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Impostazione scena in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Caricamento interfaccia in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, 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:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, 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/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Impostazioni macchina" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Inserire le impostazioni corrette per la stampante:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Stampante" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Impostazioni della stampante" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Larghezza)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Profondità)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Altezza)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Forma del piano di stampa" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Centro macchina a zero" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Piano riscaldato" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "Versione GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Impostazioni della testina di stampa" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Altezza gantry" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Numero di estrusori" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Diametro materiale" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Dimensione ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Avvio GCode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Fine GCode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Impostazioni ugello" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Scostamento X ugello" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Scostamento Y ugello" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Codice G avvio estrusore" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Codice G fine estrusore" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Impostazioni Doodle3D" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Salva" @@ -1121,7 +1219,7 @@ msgstr "Temperatura estrusore: %1/%2°C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Stampa" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Codice errore sconosciuto: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Collega alla stampante in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "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\nSelezionare la stampante dall’elenco seguente:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Aggiungi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Modifica" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Rimuovi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Aggiorna" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 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 ricerca guasti per la stampa in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Sconosciuto" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versione firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Indirizzo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 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/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Collega" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Indirizzo stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 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/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifica script di post-elaborazione attivi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Modalità di visualizzazione: strati" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Schema colori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Colore materiale" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo di linea" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modalità di compatibilità" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Estrusore %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Mostra spostamenti" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Mostra helper" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Mostra guscio" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Mostra riempimento" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Mostra solo strati superiori" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Mostra 5 strati superiori in dettaglio" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Superiore / Inferiore" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Parete interna" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Smoothing" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Modello di stampa con" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Seleziona impostazioni" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 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:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtro..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostra tutto" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Apri progetto" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Aggiorna esistente" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Crea nuovo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Riepilogo - Progetto Cura" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Impostazioni della stampante" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Come può essere risolto il conflitto nella macchina?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Nome" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Impostazioni profilo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Come può essere risolto il conflitto nel profilo?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Non nel profilo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 override" msgstr[1] "%1 override" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivato da" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 override" msgstr[1] "%1, %2 override" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Impostazioni materiale" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Come può essere risolto il conflitto nel materiale?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Impostazione visibilità" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Modalità" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Impostazioni visibili:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 su %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Il caricamento di un modello annulla tutti i modelli sul piano di stampa" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Apri" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Seleziona gli aggiornamenti della stampante" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Seleziona qualsiasi aggiornamento realizzato per questa Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Blocco Olsson" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Seleziona il firmware personalizzato" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Seleziona gli aggiornamenti della stampante" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "La stampante non accetta comandi" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In manutenzione. Controllare la stampante" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Persa connessione con la stampante" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Stampa in corso..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "In pausa" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparazione in corso..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Sei sicuro di voler interrompere la stampa?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Elimina o mantieni modifiche" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 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.\nMantenere o eliminare tali impostazioni?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Impostazioni profilo" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Valore predefinito" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Valore personalizzato" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Chiedi sempre" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Elimina e non chiedere nuovamente" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Mantieni e non chiedere nuovamente" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Elimina" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Mantieni" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Crea nuovo profilo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Informazioni" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Visualizza nome" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marchio" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Tipo di materiale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Colore" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Proprietà" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Densità" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diametro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Costo del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Peso del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Lunghezza del filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Costo al metro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Questo materiale è collegato a %1 e condivide alcune delle sue proprietà." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Scollega materiale" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Descrizione" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Informazioni sull’aderenza" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Impostazioni di stampa" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Unità" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Generale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interfaccia" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Lingua:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Riavviare l'applicazione per rendere effettive le modifiche della lingua." +msgid "Theme:" +msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +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:280 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:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Seziona automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento del riquadro di visualizzazione" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 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:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Visualizza sbalzo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" +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:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 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:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +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:346 +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:355 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:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 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:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 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:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 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:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Visualizza il messaggio di avvertimento sul lettore codice G." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Messaggio di avvertimento sul lettore codice G" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 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:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 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:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Apertura e salvataggio file" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 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:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Ridimensiona i modelli troppo grandi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Ridimensiona i modelli eccessivamente piccoli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 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:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 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:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 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:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 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:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +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:491 +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:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Chiedi sempre" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Apri sempre come progetto" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Importa sempre i modelli" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Override profilo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 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:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Controlla aggiornamenti all’avvio" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Invia informazioni di stampa (anonime)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Stampanti" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Attiva" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Tipo di stampante:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Collegamento:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La stampante non è collegata." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Stato:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "In attesa di qualcuno che cancelli il piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "In attesa di un processo di stampa" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profili" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Duplica" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Importa" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Esporta" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Esporta profilo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materiali" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Stampante: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Stampante: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Crea" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplica" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Importa materiale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Impossibile importare materiale %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Materiale importato correttamente %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Esporta materiale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Impossibile esportare materiale su %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Materiale esportato correttamente su %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Aggiungi stampante" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Aggiungi stampante" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Parete esterna" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Pareti interne" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Rivestimento esterno" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Riempimento" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Riempimento del supporto" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interfaccia supporto" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Supporto" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Spostamenti" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retrazioni" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Altro" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00h 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "Icone SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Ricerca..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 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:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mantieni visibile questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurazione visibilità delle impostazioni in corso..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Impostazione di stampa consigliata

Stampa con le impostazioni consigliate per la stampante, il materiale e la qualità selezionati." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Impostazione di stampa personalizzata

Stampa con il controllo grana fine su ogni sezione finale del processo di sezionamento." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatico: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatico: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Stampa modello selezionato con:" +msgstr[1] "Stampa modelli selezionati con:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Moltiplica modello selezionato" +msgstr[1] "Moltiplica modelli selezionati" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Numero di copie" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tempo residuo stimato" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Att&iva/disattiva schermo intero" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Annulla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Ri&peti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "E&sci" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configura Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "A&ggiungi stampante..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "&Gestione stampanti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Gestione materiali..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Aggiorna il profilo con le impostazioni/esclusioni correnti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Elimina le modifiche correnti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Crea profilo dalle impostazioni/esclusioni correnti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Gestione profili..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Mostra documentazione &online" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Se&gnala un errore" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "I&nformazioni..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "&Elimina selezione" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Cancella &modello selezionato" +msgstr[1] "Cancella modelli &selezionati" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Centra modello selezionato" +msgstr[1] "Centra modelli selezionati" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Moltiplica modello selezionato" +msgstr[1] "Moltiplica modelli selezionati" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Elimina modello" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "C&entra modello su piattaforma" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Raggruppa modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Separa modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Unisci modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Mo<iplica modello" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "Sel&eziona tutti i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Cancellare piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "R&icarica tutti i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Sistema tutti i modelli" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Sistema selezione" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reimposta tutte le posizioni dei modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Reimposta tutte le &trasformazioni dei modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "Apr&i file..." +msgid "&Open File(s)..." +msgstr "&Apri file..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Apri progetto..." +msgid "&New Project..." +msgstr "&Nuovo Progetto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "M&ostra log motore..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Mostra cartella di configurazione" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configura visibilità delle impostazioni..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Moltiplica modello" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Sezionamento non disponibile" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Prepara" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Seleziona l'unità di uscita attiva" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Apri file" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Rilevata la presenza di uno o più file progetto tra i file selezionati. È possibile aprire solo un file progetto alla volta. Si suggerisce di importare i modelli solo da tali file. Vuoi procedere?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Importa tutto come modelli" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Salva selezione su file" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "S&alva tutto" +msgid "Save &As..." +msgstr "Salva &come..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Salva progetto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Modifica" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Visualizza" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "S&tampante" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "Ma&teriale" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profilo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Imposta come estrusore attivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Es&tensioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&referenze" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Modalità di visualizzazione" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" +msgid "New project" +msgstr "Nuovo progetto" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Sei sicuro di voler aprire un nuovo progetto? Questo cancellerà il piano di stampa e tutte le impostazioni non salvate." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 +msgctxt "@title:window" +msgid "Open File(s)" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 -msgctxt "@title:window" -msgid "Open workspace" -msgstr "Apri spazio di lavoro" +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Rilevata la presenza di uno o più file codice G tra i file selezionati. È possibile aprire solo un file codice G alla volta. Se desideri aprire un file codice G, selezionane uno solo. " #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Salva progetto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Estrusore %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & materiale" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Non mostrare il riepilogo di progetto alla ripetizione di salva" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Riempimento" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Cavo" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Nessun (0%) riempimento lascerà il tuo cavo modello a scapito della resistenza (bassa resistenza)" +msgid "0%" +msgstr "0%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Leggero" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Un riempimento vuoto lascerà il modello cavo e poco resistente." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Un riempimento leggero (20%) fornirà al modello una resistenza media" +msgid "20%" +msgstr "20%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Denso" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Un riempimento leggero (20%) fornirà al modello una resistenza media." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Un riempimento denso (50%) fornirà al modello una resistenza superiore alla media" +msgid "50%" +msgstr "50%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solido" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Un riempimento denso (50%) fornirà al modello una resistenza superiore alla media." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Un riempimento solido (100%) renderà il modello completamente pieno" +msgid "100%" +msgstr "100%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Abilita supporto" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Un riempimento solido (100%) renderà il modello completamente pieno." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Abilita le strutture di supporto. Queste strutture supportano le parti del modello con sbalzi rigidi." +msgid "Gradual" +msgstr "Graduale" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Un riempimento graduale aumenterà gradualmente la quantità di riempimento verso l'alto." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Generazione supporto" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Genera strutture per supportare le parti del modello a sbalzo. Senza queste strutture, queste parti collasserebbero durante la stampa." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Estrusore del supporto" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleziona l’estrusore da utilizzare per la stampa di strutture di supporto. Ciò consentirà di costruire strutture di supporto sotto il modello per evitare cedimenti del modello o di stampare a mezz'aria." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adesione piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Abilita stampa di brim o raft. Questa funzione aggiunge un’area piana attorno o sotto l’oggetto, facile da tagliare successivamente." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Serve aiuto per migliorare le tue stampe? Leggi la Guida alla ricerca e riparazione guasti Ultimaker" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Serve aiuto per migliorare le tue stampe?
Leggi la Guida alla ricerca e riparazione guasti Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Stampa modello selezionato con %1" +msgstr[1] "Stampa modelli selezionati con %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Apri file progetto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Questo è un file progetto Cura. Vuoi aprirlo come progetto o importarne i modelli?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Ricorda la scelta" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Apri come progetto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Importa i modelli" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Materiale" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Fai clic per verificare la compatibilità del materiale su Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profilo:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,129 @@ msgid "" "Click to open the profile manager." msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Impossibile avviare un nuovo processo di stampa. Nessun PrinterCore caricato nello slot {0}" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Aggiornamento della versione da 2.4 a 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Aggiorna le configurazioni da Cura 2.4 a Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Impossibile trovare un profilo di qualità per questa combinazione. Saranno utilizzate le impostazioni predefinite." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Oops!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Si è verificata un'eccezione fatale impossibile da ripristinare!

\n" +#~ "

Ci auguriamo che l’immagine di questo gattino vi aiuti a superare lo shock.

\n" +#~ "

Utilizzare le informazioni riportate di seguito per pubblicare una segnalazione errori all'indirizzo http://github.com/Ultimaker/Cura/issues

" + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Inserire le impostazioni corrette per la stampante:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Estrusore %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Modello di stampa con" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Riavviare l'applicazione per rendere effettive le modifiche della lingua." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Sposta la fotocamera in modo che il modello si trovi al centro della visualizzazione quando è selezionato" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "&Elimina selezione" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "Apr&i file..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Apri progetto..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Moltiplica modello" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "S&alva tutto" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Apri file" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Apri spazio di lavoro" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Cavo" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Nessun (0%) riempimento lascerà il tuo cavo modello a scapito della resistenza (bassa resistenza)" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Leggero" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Un riempimento leggero (20%) fornirà al modello una resistenza media" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Denso" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Un riempimento denso (50%) fornirà al modello una resistenza superiore alla media" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Solido" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Un riempimento solido (100%) renderà il modello completamente pieno" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Abilita supporto" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Abilita le strutture di supporto. Queste strutture supportano le parti del modello con sbalzi rigidi." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Serve aiuto per migliorare le tue stampe? Leggi la Guida alla ricerca e riparazione guasti Ultimaker" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Collegato alla rete a {0}. Si prega di approvare la richiesta di accesso sulla stampante." diff --git a/resources/i18n/it/fdmextruder.def.json.po b/resources/i18n/it/fdmextruder.def.json.po index 7a7dac26c5..bc5bb0fc68 100644 --- a/resources/i18n/it/fdmextruder.def.json.po +++ b/resources/i18n/it/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: it\n" +"Language-Team: Italian\n" +"Language: Italian\n" +"Lang-Code: it\n" +"Country-Code: IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Treno estrusore utilizzato per la stampa. Utilizzato nell’estrusione multipla." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Diametro ugello" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Diametro interno dell'ugello. Modificare questa impostazione quando si utilizza un ugello di dimensioni non standard." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/it/fdmprinter.def.json.po b/resources/i18n/it/fdmprinter.def.json.po index 3ba553c4eb..da7b19cfb0 100644 --- a/resources/i18n/it/fdmprinter.def.json.po +++ b/resources/i18n/it/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: it\n" +"Language-Team: Italian\n" +"Language: Italian\n" +"Lang-Code: it\n" +"Country-Code: IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Larghezza della linea dell’interfaccia di supporto" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Indica la larghezza di una singola linea dell’interfaccia di supporto." +msgid "Width of a single line of support roof or floor." +msgstr "Indica la larghezza di una singola linea di supporto superiore o inferiore." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Larghezza delle linee di supporto superiori" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Indica la larghezza di una singola linea di supporto superiore." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Larghezza della linea di supporto inferiore" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Indica la larghezza di una singola linea di supporto inferiore." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Un elenco di direzioni linee intere. Gli elementi dall’elenco sono utilizzati in sequenza con il progredire degli strati e, al raggiungimento della fine dell’elenco, la sequenza ricomincia dall’inizio. Le voci elencate sono separate da virgole e l’intero elenco è racchiuso tra parentesi quadre. L’elenco predefinito è vuoto, vale a dire che utilizza i valori angolari predefiniti (45 e 135 gradi per le linee e la configurazione zig zag e 45 gradi per tutte le altre configurazioni)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Raggio suddivisione in cubi" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Riempimento a spaghetti" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Un moltiplicatore sul raggio dal centro di ciascun cubo per controllare il contorno del modello, per decidere se questo cubo deve essere suddiviso. Valori maggiori comportano più suddivisioni, vale a dire più cubi piccoli." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Stampa il riempimento di tanto in tanto, in modo che il filamento si avvolga in modo casuale all'interno dell'oggetto. Questo riduce il tempo di stampa, ma il comportamento rimane imprevedibile." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Angolo di riempimento massimo a spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Angolo massimo attorno all'asse Z dell'interno stampa per le aree da riempire successivamente con riempimento a spaghetti. La riduzione di questo valore causa la formazione di un maggior numero di parti angolate nel modello da riempire su ogni strato." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Altezza massima riempimento a spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Indica l'altezza massima dello spazio interno che può essere combinato e riempito a partire dall'alto." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Inserto spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Distanza dalle pareti dalla quale il riempimento a spaghetti verrà stampato." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Flusso spaghetti" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Regola la densità del riempimento a spaghetti. Notare che la densità del riempimento controlla solo la spaziatura lineare del percorso di riempimento, non la quantità di estrusione per il riempimento a spaghetti." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,22 +1274,22 @@ msgstr "Prolunga le aree di rivestimento esterno superiori e/o inferiori delle s #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Prolunga rivestimenti esterni superiori" +msgid "Expand Top Skins Into Infill" +msgstr "Prolunga rivestimenti esterni superiori nel riempimento" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." msgstr "Prolunga le aree di rivestimento esterno superiori (aree con aria al di sopra) in modo che supportino il riempimento sovrastante." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Prolunga rivestimenti esterni inferiori" +msgid "Expand Bottom Skins Into Infill" +msgstr "Prolunga rivestimenti esterni inferiori nel riempimento" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." msgstr "Prolunga aree rivestimento esterno inferiori (aree con aria al di sotto) in modo che siano ancorate dagli strati di riempimento sovrastanti e sottostanti." #: fdmprinter.def.json @@ -1638,8 +1699,28 @@ msgstr "Velocità interfaccia supporto" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Indica la velocità alla quale sono stampate le parti superiori (tetto) e inferiori del supporto. La stampa di queste parti a velocità inferiori può ottimizzare la qualità delle parti a sbalzo." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Velocità alla quale vengono stampate le parti superiori e inferiori del supporto. La loro stampa a velocità inferiori può migliorare la qualità dello sbalzo." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Velocità di stampa della parte superiore (tetto) del supporto" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Velocità alla quale vengono stampate le parti superiori del supporto. La loro stampa a velocità inferiori può migliorare la qualità dello sbalzo." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Velocità di stampa della parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Velocità alla quale viene stampata la parte inferiore del supporto. La stampa ad una velocità inferiore può migliorare l'adesione del supporto nella parte superiore del modello." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Accelerazione interfaccia supporto" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Indica l’accelerazione alla quale sono stampate le parti superiori (tetto) e inferiori del supporto. La stampa di queste parti ad accelerazioni inferiori può ottimizzare la qualità delle parti a sbalzo." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Accelerazione alla quale vengono stampate le parti superiori e inferiori del supporto. La loro stampa ad un'accelerazione inferiore può migliorare la qualità dello sbalzo." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Accelerazione parte superiore del supporto" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Accelerazione alla quale vengono stampate le parti superiori del supporto. La loro stampa ad un'accelerazione inferiore può migliorare la qualità dello sbalzo." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Accelerazione parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Accelerazione alla quale vengono stampate le parti inferiori del supporto. La stampa ad una accelerazione inferiore può migliorare l'adesione del supporto nella parte superiore del modello." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,8 +2099,28 @@ msgstr "Jerk interfaccia supporto" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "Indica il cambio della velocità istantanea massima con cui vengono stampate le parti superiori e inferiori." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "Indica la variazione della velocità istantanea massima con cui vengono stampate le parti superiori e inferiori." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Jerk parte superiore del supporto" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Indica la variazione della velocità istantanea massima con cui vengono stampate le parti superiori." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Jerk parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Indica la variazione della velocità istantanea massima con cui vengono stampate le parti inferiori." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2449,13 @@ msgstr "Supporto" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Abilitazione del supporto" +msgid "Generate Support" +msgstr "Generazione supporto" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Abilita le strutture di supporto. Queste strutture supportano le parti del modello con sbalzi rigidi." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Genera strutture per supportare le parti del modello a sbalzo. Senza queste strutture, queste parti collasserebbero durante la stampa." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Estrusore interfaccia del supporto" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "Il treno estrusore utilizzato per la stampa delle parti superiori e inferiori del supporto. Utilizzato nell’estrusione multipla." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "Treno estrusore utilizzato per la stampa delle parti superiori e inferiori del supporto. Utilizzato nell’estrusione multipla." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Estrusore parte superiore del supporto" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Treno estrusore utilizzato per la stampa delle parti superiori del supporto. Utilizzato nell’estrusione multipla." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Estrusore parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Treno estrusore utilizzato per la stampa delle parti inferiori del supporto. Utilizzato nell’estrusione multipla." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Altezza gradini supporto" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Indica l'altezza dei gradini della parte inferiore del supporto (a guisa di scala) in appoggio sul modello. Un valore basso rende difficoltosa la rimozione del supporto, ma un valore troppo alto può comportare strutture di supporto instabili." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Altezza dei gradini della parte inferiore del supporto a scala che appoggia sul modello. Un valore inferiore rende il supporto più difficile da rimuovere, ma valori troppo elevati possono rendere instabili le strutture di supporto. Impostare a zero per disabilitare il profilo a scala." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Larghezza massima gradino supporto" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Larghezza massima dei gradini della parte inferiore del supporto a scala che appoggia sul modello. Un valore inferiore rende il supporto più difficile da rimuovere, ma valori troppo elevati possono rendere instabili le strutture di supporto." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Genera un’interfaccia densa tra il modello e il supporto. Questo crea un rivestimento esterno sulla sommità del supporto su cui viene stampato il modello e al fondo del supporto, dove appoggia sul modello." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Abilitazione irrobustimento parte superiore (tetto) del supporto" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Genera una spessa lastra di materiale tra la parte superiore del supporto e il modello. Questo crea un rivestimento tra modello e supporto." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Abilitazione parte inferiore supporto" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Genera una spessa lastra di materiale tra la parte inferiore del supporto e il modello. Questo crea un rivestimento tra modello e supporto." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "Lo spessore delle parti superiori del supporto. Questo controlla la quan #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Spessore degli strati inferiori del supporto" +msgid "Support Floor Thickness" +msgstr "Spessore parte inferiore del supporto" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Indica lo spessore degli strati inferiori del supporto. Questo controlla il numero di strati fitti stampati sulla sommità dei punti di un modello su cui appoggia un supporto." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Indica lo spessore delle parti inferiori del supporto. Questo controlla il numero di strati fitti stampati sulla sommità dei punti di un modello su cui appoggia un supporto." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Risoluzione interfaccia supporto" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Quando si controlla la presenza di un modello sopra il supporto, adottare gradini di una data altezza. Valori inferiori generano un sezionamento più lento, mentre valori superiori possono causare la stampa del supporto normale in punti in cui avrebbe dovuto essere presente un’interfaccia supporto." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Quando si controlla dove si trova il modello sopra e sotto il supporto, procedere ad intervalli di altezza prestabilita. Valori inferiori causeranno un sezionamento più lento, mentre valori più alti potrebbero causare la stampa del supporto normale in alcuni punti in cui dovrebbe esserci un'interfaccia di supporto." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Densità interfaccia supporto" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Regola la densità delle parti superiori e inferiori della struttura del supporto. Un valore superiore genera sbalzi migliori, ma i supporti sono più difficili da rimuovere." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Regola la densità delle parti superiori e inferiori della struttura di supporto. Un valore superiore genera sbalzi migliori, ma i supporti sono più difficili da rimuovere." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Distanza della linea di interfaccia supporto" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Densità parte superiore (tetto) del supporto" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Indica la distanza tra le linee di interfaccia del supporto stampato. Questa impostazione viene calcolata mediante la densità dell’interfaccia del supporto, ma può essere regolata separatamente." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Densità delle parti superiori della struttura di supporto. Un valore superiore genera sbalzi migliori, ma i supporti sono più difficili da rimuovere." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Distanza tra le linee della parte superiore (tetto) del supporto" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Distanza tra le linee della parte superiore del supporto stampate. Questa impostazione viene calcolata dalla densità della parte superiore del supporto, ma può essere regolata separatamente." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Densità parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Densità delle parti inferiori della struttura di supporto. Un valore più alto comporta una migliore adesione del supporto alla parte superiore del modello." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Distanza della linea di supporto inferiore" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Distanza tra le linee della parte inferiore del supporto stampate. Questa impostazione viene calcolata dalla densità della parte inferiore del supporto, ma può essere regolata separatamente." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zig Zag" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Configurazione della parte superiore (tetto) del supporto" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "È la configurazione (o pattern) con cui vengono stampate le parti superiori del supporto." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Linee" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Griglia" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Triangoli" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Concentriche" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "3D concentrica" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Configurazione della parte inferiore del supporto" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "È la configurazione (o pattern) con cui vengono stampate le parti inferiori del supporto." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Linee" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Griglia" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Triangoli" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concentriche" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "3D concentrica" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Adesione" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Abilitazione blob di innesco" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Eventuale innesco del filamento con un blob prima della stampa. L'attivazione di questa impostazione garantisce che l'estrusore avrà il materiale pronto all'ugello prima della stampa. Anche la stampa Brim o Skirt può funzionare da innesco, nel qual caso la disabilitazione di questa impostazione consente di risparmiare tempo." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Determina quale maglia di riempimento è all’interno del riempimento di un’altra maglia di riempimento. Una maglia di riempimento con un ordine superiore modifica il riempimento delle maglie con maglie di ordine inferiore e normali." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Ritaglio maglia" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Limita il volume di questa maglia all'interno di altre maglie. Questo può essere utilizzato per stampare talune aree di una maglia con impostazioni diverse e con un diverso estrusore." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Stampo" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Stampa i modelli come uno stampo, che può essere fuso per ottenere un modello che assomigli ai modelli sul piano di stampa." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Larghezza minimo dello stampo" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Distanza minima tra l'esterno dello stampo e l'esterno del modello." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Altezza parte superiore dello stampo" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Altezza sopra le parti orizzontali del modello che stampano lo stampo." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Angolo stampo" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Angolo dello sbalzo delle pareti esterne creato per il modello. 0° rende il guscio esterno dello stampo verticale, mentre 90° fa in modo che il guscio esterno dello stampo segua il profilo del modello." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Utilizzare questa maglia per specificare le aree di supporto. Può essere usata per generare una struttura di supporto." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Maglia supporto di discesa" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Rappresenta il supporto ovunque sotto la maglia di supporto, in modo che in questa non vi siano punti a sbalzo." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Stampa del contorno esterno con movimento spiraliforme" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Questa funzione regolarizza il movimento dell'asse Z del bordo esterno. Questo creerà un costante aumento di Z su tutta la stampa. Questa funzione trasforma un modello solido in una stampa a singola parete con un fondo solido. Nelle versioni precedenti questa funzione era denominata Joris." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Appiattisce il contorno esterno attorno all'asse Z con movimento spiraliforme. Questo crea un aumento costante lungo l'asse Z durante tutto il processo di stampa. Questa caratteristica consente di ottenere un modello pieno in una singola stampata con fondo solido. Questa caratteristica deve essere abilitata solo quando ciascuno strato contiene solo una singola parte." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Levigazione dei profili con movimento spiraliforme" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Leviga i profili con movimento spiraliforme per ridurre la visibilità della giunzione Z (la giunzione Z dovrebbe essere appena visibile sulla stampa, ma rimane visibile nella vista dello strato). Notare che la levigatura tende a rimuovere le bavature fini della superficie." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice di rotazione da applicare al modello quando caricato dal file." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Indica la larghezza di una singola linea dell’interfaccia di supporto." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Raggio suddivisione in cubi" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Un moltiplicatore sul raggio dal centro di ciascun cubo per controllare il contorno del modello, per decidere se questo cubo deve essere suddiviso. Valori maggiori comportano più suddivisioni, vale a dire più cubi piccoli." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Prolunga rivestimenti esterni superiori" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Prolunga le aree di rivestimento esterno superiori (aree con aria al di sopra) in modo che supportino il riempimento sovrastante." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Prolunga rivestimenti esterni inferiori" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Prolunga aree rivestimento esterno inferiori (aree con aria al di sotto) in modo che siano ancorate dagli strati di riempimento sovrastanti e sottostanti." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Indica la velocità alla quale sono stampate le parti superiori (tetto) e inferiori del supporto. La stampa di queste parti a velocità inferiori può ottimizzare la qualità delle parti a sbalzo." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Indica l’accelerazione alla quale sono stampate le parti superiori (tetto) e inferiori del supporto. La stampa di queste parti ad accelerazioni inferiori può ottimizzare la qualità delle parti a sbalzo." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Indica il cambio della velocità istantanea massima con cui vengono stampate le parti superiori e inferiori." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Abilitazione del supporto" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Abilita le strutture di supporto. Queste strutture supportano le parti del modello con sbalzi rigidi." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Il treno estrusore utilizzato per la stampa delle parti superiori e inferiori del supporto. Utilizzato nell’estrusione multipla." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Indica l'altezza dei gradini della parte inferiore del supporto (a guisa di scala) in appoggio sul modello. Un valore basso rende difficoltosa la rimozione del supporto, ma un valore troppo alto può comportare strutture di supporto instabili." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Spessore degli strati inferiori del supporto" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Indica lo spessore degli strati inferiori del supporto. Questo controlla il numero di strati fitti stampati sulla sommità dei punti di un modello su cui appoggia un supporto." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Quando si controlla la presenza di un modello sopra il supporto, adottare gradini di una data altezza. Valori inferiori generano un sezionamento più lento, mentre valori superiori possono causare la stampa del supporto normale in punti in cui avrebbe dovuto essere presente un’interfaccia supporto." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Regola la densità delle parti superiori e inferiori della struttura del supporto. Un valore superiore genera sbalzi migliori, ma i supporti sono più difficili da rimuovere." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Distanza della linea di interfaccia supporto" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Indica la distanza tra le linee di interfaccia del supporto stampato. Questa impostazione viene calcolata mediante la densità dell’interfaccia del supporto, ma può essere regolata separatamente." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Questa funzione regolarizza il movimento dell'asse Z del bordo esterno. Questo creerà un costante aumento di Z su tutta la stampa. Questa funzione trasforma un modello solido in una stampa a singola parete con un fondo solido. Nelle versioni precedenti questa funzione era denominata Joris." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Indica la temperatura usata per la stampa. Impostare a 0 per pre-riscaldare la stampante manualmente." diff --git a/resources/i18n/jp/cura.po b/resources/i18n/jp/cura.po index 0da8e3138f..762dc05442 100644 --- a/resources/i18n/jp/cura.po +++ b/resources/i18n/jp/cura.po @@ -5,13 +5,15 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-03 10:30+1000\n" -"Last-Translator: Ultimaker's Japanese Sales Partner \n" -"Language-Team: Ultimaker's Japanese Sales Partner \n" -"Language: jp\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-03-27 17:27+0200\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: Japanese\n" +"Lang-Code: ja\n" +"Country-Code: JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -27,7 +29,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "設定を変更する方法 (例としてビルトボリューム, ノズルサイズ, その他)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Machine Settings" @@ -128,6 +130,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Show Changelog" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -158,17 +180,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Connected via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Unable to start a new job because the printer is busy or not connected." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "This printer does not support USB printing because it uses UltiGCode flavor." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Unable to start a new job because the printer does not support usb printing." @@ -205,49 +227,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Save to Removable Drive {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Saving to Removable Drive {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Could not save to {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Saved to Removable Drive {0} as {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Eject" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Eject removable device {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Could not save to removable drive {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Ejected {0}. You can now safely remove the drive." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -327,152 +349,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Send access request to the printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Connected over the network. Please approve the access request on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connected over the network." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Connected over the network. No access to control the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Access request was denied on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Access request failed due to a timeout." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "The connection with the network was lost." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "The connection with the printer was lost. Check your printer to see if it is connected." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Unable to start a new print job, printer is busy. Current printer status is %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Unable to start a new print job. No material loaded in slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Not enough material for spool {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Are you sure you wish to print with the selected configuration?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "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." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mismatched configuration" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Sending data to printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Cancel" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Unable to send data to printer. Is another job still active?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Aborting print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Print aborted. Please check the printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausing print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Resuming print..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sync with your printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Would you like to use your current printer configuration in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." @@ -526,12 +548,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Dismiss" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Material Profiles" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "XML-ベース マテリアル プロファイルを読みこみ書き出すことができる。" @@ -582,20 +604,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura does not accurately display layers when Wire Printing is enabled" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Version Upgrade 2.4 to 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Cura 2.4からCura 2.5へ設定をアップグレードする。" +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "" #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -652,24 +674,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF Image" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "The selected material is incompatible with the selected machine or configuration." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Unable to slice with the current settings. The following settings have errors: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Unable to slice because the prime tower or prime position(s) are invalid." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." @@ -684,8 +706,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "裏画面のCuraEngineスライシングのリンクを与える。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Processing Layers" @@ -710,36 +732,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "モデルごとの設定を構成する" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommended" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Custom" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF Reader" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "3MFファイルを読む。" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF File" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" @@ -774,11 +796,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G File" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing G-code" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "" + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -795,41 +822,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura Profile" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF Writer" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "3MF filesを編集する。" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF file" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura Project 3MF file" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ultimaker machine actions" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ultimakerの機械行動 (ベッドレベリングウィザード, アップグレード選択, その他)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Select upgrades" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ultimaker machine actions" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Ultimakerの機械行動 (ベッドレベリングウィザード, アップグレード選択, その他)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -855,7 +883,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Curaのプロファイルをインポートする。" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -871,243 +899,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Unknown material" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "File Already Exists" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "The file {0} already exists. Are you sure you want to overwrite it?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Unable to find a quality profile for this combination. Default settings will be used instead." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Failed to export profile to {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Failed to export profile to {0}: Writer plugin reported failure." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Exported profile to {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Failed to import profile from {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Successfully imported profile {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profile {0} has an unknown file type or is corrupted." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Custom profile" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oops!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " msgstr "" -"

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" -" " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Open Web Page" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Loading machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Setting up scene..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Loading interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Only one G-code file can be loaded at a time. Skipped importing {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Can't open any other file if G-code is loading. Skipped importing {0}" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Machine Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Please enter the correct settings for your printer below:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Printer Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Width)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Depth)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Height)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Build Plate Shape" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Machine Center is Zero" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Heated Bed" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "GCode Flavor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Printhead Settings" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Gantry height" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Nozzle size" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Start Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "End Gcode" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D Settings" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Save" @@ -1146,7 +1240,7 @@ msgstr "Print" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1199,12 +1293,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Unknown error code: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connect to Networked Printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1215,87 +1309,87 @@ msgstr "" "\n" "Select your printer from the list below:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Add" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Edit" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Remove" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Refresh" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "If your printer is not listed, read the network-printing troubleshooting guide" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Unknown" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmware version" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Address" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "The printer at this address has not yet responded." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Connect" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Printer Address" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Enter the IP address or hostname of your printer on the network." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1340,72 +1434,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Change active post-processing scripts" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "View Mode: Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Color scheme" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Material Color" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Line Type" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Compatibility Mode" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Show Travels" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Show Helpers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Show Shell" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Show Infill" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Only Show Top Layers" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Show 5 Detailed Layers On Top" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Top / Bottom" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Inner Wall" @@ -1481,34 +1570,27 @@ msgid "Smoothing" msgstr "Smoothing" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Print model with" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Select settings" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Select Settings to Customize for this model" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filter..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Show all" @@ -1518,128 +1600,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Open Project" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Update existing" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Create new" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Summary - Cura Project" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Printer settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "How should the conflict in the machine be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Name" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profile settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "How should the conflict in the profile be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Not in profile" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 override" msgstr[1] "%1 overrides" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivative from" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 override" msgstr[1] "%1, %2 overrides" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Material settings" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "How should the conflict in the material be resolved?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Setting visibility" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Mode" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Visible settings:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 out of %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Loading a project will clear all models on the buildplate" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Open" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Select Printer Upgrades" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1695,11 +1793,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Select custom firmware" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Select Printer Upgrades" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1814,7 +1907,7 @@ msgid "Printer does not accept commands" msgstr "Printer does not accept commands" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In maintenance. Please check the printer" @@ -1825,19 +1918,19 @@ msgid "Lost connection with the printer" msgstr "Lost connection with the printer" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Printing..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Paused" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparing..." @@ -1872,12 +1965,12 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Are you sure you want to abort the print?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Discard or Keep changes" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" @@ -1886,125 +1979,135 @@ msgstr "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profile settings" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Default" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Customized" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Always ask me this" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Discard and never ask again" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Keep and never ask again" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Discard" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Keep" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Create New Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Information" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Display Name" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Brand" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Material Type" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Color" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Properties" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Density" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diameter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Filament Cost" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Filament weight" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Filament length" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Cost per Meter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Description" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Adhesion Information" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Print settings" @@ -2040,185 +2143,240 @@ msgid "Unit" msgstr "Unit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "General" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Language:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Currency:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "You will need to restart the application for language changes to have effect." +msgid "Theme:" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Slice automatically when changing settings." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Slice automatically" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport behavior" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Highlight unsupported areas of the model in red. Without support these areas will not print properly." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Display overhang" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Moves the camera so the model is in the center of the view when an model is selected" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Center camera when item is selected" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Should models on the platform be moved so that they no longer intersect?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Ensure models are kept apart" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Should models on the platform be moved down to touch the build plate?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automatically drop models to the build plate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Should layer be forced into compatibility mode?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Force layer view compatibility mode (restart required)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Opening and saving files" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Should models be scaled to the build volume if they are too large?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Scale large models" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Scale extremely small models" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Should a prefix based on the printer name be added to the print job name automatically?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Add machine prefix to job name" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Should a summary be shown when saving a project file?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Show summary dialog when saving project" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "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." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Override Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Should Cura check for updates when the program is started?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Check for updates on start" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Send (anonymous) print information" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Printers" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Activate" @@ -2234,34 +2392,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Printer type:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Connection:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "The printer is not connected." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "State:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Waiting for someone to clear the build plate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Waiting for a printjob" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiles" @@ -2287,13 +2445,13 @@ msgid "Duplicate" msgstr "Duplicate" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Import" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Export" @@ -2359,60 +2517,65 @@ msgid "Export Profile" msgstr "Export Profile" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materials" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Printer: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Printer: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplicate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Import Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Could not import material %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Successfully imported material %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Export Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Failed to export material to %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Successfully exported material to %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Add Printer" @@ -2427,17 +2590,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Add Printer" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00h 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2551,27 +2764,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG icons" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copy value to all extruders" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Hide this setting" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Don't show this setting" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Keep this setting visible" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configure setting visiblity..." @@ -2653,17 +2871,17 @@ msgstr "" "Print Setup disabled\n" "G-code files cannot be modified" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatic: %1" @@ -2678,6 +2896,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatic: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2768,171 +3005,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Estimated time left" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Toggle Fu&ll Screen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Undo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Redo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Quit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configure Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Add Printer..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Manage Pr&inters..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Manage Materials..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Update profile with current settings/overrides" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Discard current changes" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Create profile from current settings/overrides..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Manage Profiles..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Show Online &Documentation" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Report a &Bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&About..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Delete &Selection" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "" +msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Delete Model" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&nter Model on Platform" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Group Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Ungroup Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Merge Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiply Model..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Select All Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Clear Build Plate" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Re&load All Models" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reset All Model Positions" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Reset All Model &Transformations" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Open File..." +msgid "&Open File(s)..." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Open Project..." +msgid "&New Project..." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Show Engine &Log..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Show Configuration Folder" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configure setting visibility..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Multiply Model" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2963,21 +3221,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicing unavailable" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Prepare" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancel" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Select the active output device" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2988,197 +3262,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Save Selection to File" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Save &All" +msgid "Save &As..." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Save project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Edit" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&View" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Settings" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Printer" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profile" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Set as Active Extruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensions" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&references" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Open File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "View Mode" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Settings" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Open file" +msgid "New project" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Open workspace" +msgid "Open File(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Save Project" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extruder %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & material" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Don't show project summary on save again" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Infill" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Hollow" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "No (0%) infill will leave your model hollow at the cost of low strength" +msgid "0%" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Light" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Light (20%) infill will give your model an average strength" +msgid "20%" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Dense" +msgid "Light (20%) infill will give your model an average strength." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Dense (50%) infill will give your model an above average strength" +msgid "50%" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solid" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Solid (100%) infill will make your model completely solid" +msgid "100%" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Enable Support" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Enable support structures. These structures support parts of the model with severe overhangs." +msgid "Gradual" +msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Support Extruder" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Build Plate Adhesion" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3191,12 +3517,17 @@ msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profile:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3206,3 +3537,127 @@ msgstr "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." + +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Unable to start a new print job. No PrinterCore loaded in slot {0}" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Version Upgrade 2.4 to 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Cura 2.4からCura 2.5へ設定をアップグレードする。" + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Unable to find a quality profile for this combination. Default settings will be used instead." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Oops!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Please enter the correct settings for your printer below:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extruder %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Print model with" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "You will need to restart the application for language changes to have effect." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Moves the camera so the model is in the center of the view when an model is selected" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "Delete &Selection" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Open File..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Open Project..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Multiply Model" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Save &All" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Open file" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Open workspace" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Hollow" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "No (0%) infill will leave your model hollow at the cost of low strength" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Light" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Light (20%) infill will give your model an average strength" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Dense" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Dense (50%) infill will give your model an above average strength" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Solid" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Solid (100%) infill will make your model completely solid" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Enable Support" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Enable support structures. These structures support parts of the model with severe overhangs." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" diff --git a/resources/i18n/jp/fdmextruder.def.json.po b/resources/i18n/jp/fdmextruder.def.json.po new file mode 100644 index 0000000000..6a29057028 --- /dev/null +++ b/resources/i18n/jp/fdmextruder.def.json.po @@ -0,0 +1,190 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-26 17:30+0900\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: ja\n" +"Lang-Code: ja\n" +"Country-Code: JP\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" + +#: fdmextruder.def.json +msgctxt "machine_settings label" +msgid "Machine" +msgstr "プリンター" + +#: fdmextruder.def.json +msgctxt "machine_settings description" +msgid "Machine specific settings" +msgstr "プリンター詳細設定" + +#: fdmextruder.def.json +msgctxt "extruder_nr label" +msgid "Extruder" +msgstr "エクストルーダー" + +#: fdmextruder.def.json +msgctxt "extruder_nr description" +msgid "The extruder train used for printing. This is used in multi-extrusion." +msgstr "エクストルーダーの列。デュアルノズル印刷時に使用。" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "ノズル径" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "ノズルの内径。規格外のノズルを使用する際は設定を変更してください。" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_x label" +msgid "Nozzle X Offset" +msgstr "Xノズルオフセット" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_x description" +msgid "The x-coordinate of the offset of the nozzle." +msgstr "ノズルのX軸のオフセット" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_y label" +msgid "Nozzle Y Offset" +msgstr "Yノズルオフセット" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_y description" +msgid "The y-coordinate of the offset of the nozzle." +msgstr "ノズルのY軸のオフセット" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_code label" +msgid "Extruder Start G-Code" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_code description" +msgid "Start g-code to execute whenever turning the extruder on." +msgstr "エクストルーダーを使う度にGコードを展開します。" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_abs label" +msgid "Extruder Start Position Absolute" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_abs description" +msgid "Make the extruder starting position absolute rather than relative to the last-known location of the head." +msgstr "ヘッドの最後の既知位置からではなく、エクストルーダーのスタート位置を絶対位置にします。" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_x label" +msgid "Extruder Start Position X" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_x description" +msgid "The x-coordinate of the starting position when turning the extruder on." +msgstr "エクストルーダーのX座標のスタート位置" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_y label" +msgid "Extruder Start Position Y" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_y description" +msgid "The y-coordinate of the starting position when turning the extruder on." +msgstr "エクストルーダーのY座標のスタート位置" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_code label" +msgid "Extruder End G-Code" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_code description" +msgid "End g-code to execute whenever turning the extruder off." +msgstr "エクストルーダーを使用しないときにGコードを終了します。" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_abs label" +msgid "Extruder End Position Absolute" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_abs description" +msgid "Make the extruder ending position absolute rather than relative to the last-known location of the head." +msgstr "ヘッドの既存の認識位置よりもエクストルーダーの最終位置を絶対位置とする。" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_x label" +msgid "Extruder End Position X" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_x description" +msgid "The x-coordinate of the ending position when turning the extruder off." +msgstr "エクストルーダーを切った際のX座標の最終位置" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_y label" +msgid "Extruder End Position Y" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_y description" +msgid "The y-coordinate of the ending position when turning the extruder off." +msgstr "エクストルーダーを切った際のY座標の最終位置" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_z label" +msgid "Extruder Prime Z Position" +msgstr "" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_z description" +msgid "The Z coordinate of the position where the nozzle primes at the start of printing." +msgstr "印刷開始時にノズルがポジションを確認するZ座標。" + +#: fdmextruder.def.json +msgctxt "platform_adhesion label" +msgid "Build Plate Adhesion" +msgstr "" + +#: fdmextruder.def.json +msgctxt "platform_adhesion description" +msgid "Adhesion" +msgstr "密着" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_x label" +msgid "Extruder Prime X Position" +msgstr "" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_x description" +msgid "The X coordinate of the position where the nozzle primes at the start of printing." +msgstr "印刷開始時にノズルがポジションを確認するX座標。" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_y label" +msgid "Extruder Prime Y Position" +msgstr "" + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_y description" +msgid "The Y coordinate of the position where the nozzle primes at the start of printing." +msgstr "印刷開始時にノズルがポジションを確認するY座標。" diff --git a/resources/i18n/jp/fdmprinter.def.json.po b/resources/i18n/jp/fdmprinter.def.json.po new file mode 100644 index 0000000000..33eabe895c --- /dev/null +++ b/resources/i18n/jp/fdmprinter.def.json.po @@ -0,0 +1,4462 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-26 17:52+0900\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: ja\n" +"Lang-Code: ja\n" +"Country-Code: JP\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.0.2\n" + +#: fdmprinter.def.json +msgctxt "machine_settings label" +msgid "Machine" +msgstr "プリンター" + +#: fdmprinter.def.json +msgctxt "machine_settings description" +msgid "Machine specific settings" +msgstr "プリンター詳細設定" + +#: fdmprinter.def.json +msgctxt "machine_name label" +msgid "Machine Type" +msgstr "プリンタータイプ" + +#: fdmprinter.def.json +msgctxt "machine_name description" +msgid "The name of your 3D printer model." +msgstr "3Dプリンターの機種名" + +#: fdmprinter.def.json +msgctxt "machine_show_variants label" +msgid "Show machine variants" +msgstr "プリンターのバリエーションを表示する" + +#: fdmprinter.def.json +msgctxt "machine_show_variants description" +msgid "Whether to show the different variants of this machine, which are described in separate json files." +msgstr "このプリンターのバリエーションを表示するかどうかは、別のjsonファイルに記述されています。" + +#: fdmprinter.def.json +msgctxt "machine_start_gcode label" +msgid "Start GCode" +msgstr "GCodeを開始する" + +#: fdmprinter.def.json +msgctxt "machine_start_gcode description" +msgid "" +"Gcode commands to be executed at the very start - separated by \n" +"." +msgstr "" +"Gcodeのコマンドは −で始まり\n" +"で区切られます。" + +#: fdmprinter.def.json +msgctxt "machine_end_gcode label" +msgid "End GCode" +msgstr "GCodeを終了する" + +#: fdmprinter.def.json +msgctxt "machine_end_gcode description" +msgid "" +"Gcode commands to be executed at the very end - separated by \n" +"." +msgstr "" +"Gcodeのコマンドは −で始まり\n" +"で区切られます。" + +#: fdmprinter.def.json +msgctxt "material_guid label" +msgid "Material GUID" +msgstr "マテリアルGUID" + +#: fdmprinter.def.json +msgctxt "material_guid description" +msgid "GUID of the material. This is set automatically. " +msgstr "マテリアルのGUID。これは自動的に設定されます。" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_wait label" +msgid "Wait for build plate heatup" +msgstr "ビルドプレート加熱時の待機" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_wait description" +msgid "Whether to insert a command to wait until the build plate temperature is reached at the start." +msgstr "開始時にビルドプレートが温度に達するまで待つコマンドを挿入するかどうか。" + +#: fdmprinter.def.json +msgctxt "material_print_temp_wait label" +msgid "Wait for nozzle heatup" +msgstr "ノズル加熱時の待機" + +#: fdmprinter.def.json +msgctxt "material_print_temp_wait description" +msgid "Whether to wait until the nozzle temperature is reached at the start." +msgstr "開始時にノズルの温度が達するまで待つかどうか。" + +#: fdmprinter.def.json +msgctxt "material_print_temp_prepend label" +msgid "Include material temperatures" +msgstr "ノズル温度設定の挿入" + +#: fdmprinter.def.json +msgctxt "material_print_temp_prepend description" +msgid "Whether to include nozzle temperature commands at the start of the gcode. When the start_gcode already contains nozzle temperature commands Cura frontend will automatically disable this setting." +msgstr "GCodeの開始時にノズル温度設定を含めるかどうか。 既に最初のGCodeにノズル温度設定が含まれている場合、Curaフロントエンドは自動的にこの設定を無効にします。" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_prepend label" +msgid "Include build plate temperature" +msgstr "ビルドプレート温度設定の挿入" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_prepend description" +msgid "Whether to include build plate temperature commands at the start of the gcode. When the start_gcode already contains build plate temperature commands Cura frontend will automatically disable this setting." +msgstr "GCodeの開始時にビルドプレート温度設定を含めるかどうか。 既に最初のGCodeにビルドプレート温度設定が含まれている場合、Curaフロントエンドは自動的にこの設定を無効にします。" + +#: fdmprinter.def.json +msgctxt "machine_width label" +msgid "Machine width" +msgstr "造形サイズ(X)" + +#: fdmprinter.def.json +msgctxt "machine_width description" +msgid "The width (X-direction) of the printable area." +msgstr "造形可能領域の幅(X方向)。" + +#: fdmprinter.def.json +msgctxt "machine_depth label" +msgid "Machine depth" +msgstr "造形サイズ(Y)" + +#: fdmprinter.def.json +msgctxt "machine_depth description" +msgid "The depth (Y-direction) of the printable area." +msgstr "造形可能領域の幅(Y方向)。" + +#: fdmprinter.def.json +msgctxt "machine_shape label" +msgid "Build plate shape" +msgstr "ビルドプレートの形" + +#: fdmprinter.def.json +msgctxt "machine_shape description" +msgid "The shape of the build plate without taking unprintable areas into account." +msgstr "造形不可領域を考慮しないビルドプレートの形状。" + +#: fdmprinter.def.json +msgctxt "machine_shape option rectangular" +msgid "Rectangular" +msgstr "長方形" + +#: fdmprinter.def.json +msgctxt "machine_shape option elliptic" +msgid "Elliptic" +msgstr "楕円形" + +#: fdmprinter.def.json +msgctxt "machine_height label" +msgid "Machine height" +msgstr "造形サイズ(Z)" + +#: fdmprinter.def.json +msgctxt "machine_height description" +msgid "The height (Z-direction) of the printable area." +msgstr "造形可能領域の幅(Z方向)。" + +#: fdmprinter.def.json +msgctxt "machine_heated_bed label" +msgid "Has heated build plate" +msgstr "ヒートベッドの有無" + +#: fdmprinter.def.json +msgctxt "machine_heated_bed description" +msgid "Whether the machine has a heated build plate present." +msgstr "プリンターに加熱式ビルドプレートが付属しているかどうか。" + +#: fdmprinter.def.json +msgctxt "machine_center_is_zero label" +msgid "Is center origin" +msgstr "原点" + +#: fdmprinter.def.json +msgctxt "machine_center_is_zero description" +msgid "Whether the X/Y coordinates of the zero position of the printer is at the center of the printable area." +msgstr "プリンタのゼロポジションのX / Y座標が印刷可能領域の中心にあるかどうか。" + +#: fdmprinter.def.json +msgctxt "machine_extruder_count label" +msgid "Number of Extruders" +msgstr "エクストルーダーの数" + +#: fdmprinter.def.json +msgctxt "machine_extruder_count description" +msgid "Number of extruder trains. An extruder train is the combination of a feeder, bowden tube, and nozzle." +msgstr "エクストルーダーの数。エクストルーダーの単位は、フィーダー、ボーデンチューブ、およびノズルを組合せたもの。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_tip_outer_diameter label" +msgid "Outer nozzle diameter" +msgstr "ノズル外径" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_tip_outer_diameter description" +msgid "The outer diameter of the tip of the nozzle." +msgstr "ノズルの外径。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_head_distance label" +msgid "Nozzle length" +msgstr "ノズルの長さ" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_head_distance description" +msgid "The height difference between the tip of the nozzle and the lowest part of the print head." +msgstr "ノズル先端とプリントヘッドの最下部との高さの差。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_expansion_angle label" +msgid "Nozzle angle" +msgstr "ノズル角度" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_expansion_angle description" +msgid "The angle between the horizontal plane and the conical part right above the tip of the nozzle." +msgstr "水平面とノズル直上の円錐部分との間の角度。" + +#: fdmprinter.def.json +msgctxt "machine_heat_zone_length label" +msgid "Heat zone length" +msgstr "加熱範囲" + +#: fdmprinter.def.json +msgctxt "machine_heat_zone_length description" +msgid "The distance from the tip of the nozzle in which heat from the nozzle is transferred to the filament." +msgstr "ノズルからの熱がフィラメントに伝達される距離。" + +#: fdmprinter.def.json +msgctxt "machine_filament_park_distance label" +msgid "Filament Park Distance" +msgstr "Filament Park Distance" + +#: fdmprinter.def.json +msgctxt "machine_filament_park_distance description" +msgid "The distance from the tip of the nozzle where to park the filament when an extruder is no longer used." +msgstr "エクストルーダーが使用していない時、フィラメントを留めている場所からノズルまでの距離。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_temp_enabled label" +msgid "Enable Nozzle Temperature Control" +msgstr "Enable Nozzle Temperature Control" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_temp_enabled description" +msgid "Whether to control temperature from Cura. Turn this off to control nozzle temperature from outside of Cura." +msgstr "Curaから温度を制御するかどうか。これをオフにして、Cura外からノズル温度を制御することで無効化。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_heat_up_speed label" +msgid "Heat up speed" +msgstr "Heat up speed" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_heat_up_speed description" +msgid "The speed (°C/s) by which the nozzle heats up averaged over the window of normal printing temperatures and the standby temperature." +msgstr "ノズルが加熱する速度(℃/ s)は、通常の印刷時温度とスタンバイ時温度にて平均化されています。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_cool_down_speed label" +msgid "Cool down speed" +msgstr "Cool down speed" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_cool_down_speed description" +msgid "The speed (°C/s) by which the nozzle cools down averaged over the window of normal printing temperatures and the standby temperature." +msgstr "ノズルが冷却される速度(℃/ s)は、通常の印刷温度とスタンバイ温度のウィンドウにわたって平均化されています。" + +#: fdmprinter.def.json +msgctxt "machine_min_cool_heat_time_window label" +msgid "Minimal Time Standby Temperature" +msgstr "Minimal Time Standby Temperature" + +#: fdmprinter.def.json +msgctxt "machine_min_cool_heat_time_window description" +msgid "The minimal time an extruder has to be inactive before the nozzle is cooled. Only when an extruder is not used for longer than this time will it be allowed to cool down to the standby temperature." +msgstr "ノズルが冷却される前にエクストルーダーが静止しなければならない最短時間。この時間より長時間エクストルーダーを使用しない場合にのみ、スタンバイ温度に冷却することができます。" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor label" +msgid "Gcode flavour" +msgstr "Gcode flavour" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor description" +msgid "The type of gcode to be generated." +msgstr "生成するGコードの種類" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" +msgid "RepRap (Marlin/Sprinter)" +msgstr "RepRap (Marlin/Sprinter)" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option RepRap (Volumatric)" +msgid "RepRap (Volumetric)" +msgstr "RepRap (Volumetric)" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option UltiGCode" +msgid "Ultimaker 2" +msgstr "Ultimaker 2" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Griffin" +msgid "Griffin" +msgstr "Griffin" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Makerbot" +msgid "Makerbot" +msgstr "Makerbot" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option BFB" +msgid "Bits from Bytes" +msgstr "Bits from Bytes" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option MACH3" +msgid "Mach3" +msgstr "Mach3" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Repetier" +msgid "Repetier" +msgstr "Repetier" + +#: fdmprinter.def.json +msgctxt "machine_disallowed_areas label" +msgid "Disallowed areas" +msgstr "Disallowed areas" + +#: fdmprinter.def.json +msgctxt "machine_disallowed_areas description" +msgid "A list of polygons with areas the print head is not allowed to enter." +msgstr "プリントヘッドの領域を持つポリゴンのリストは入力できません。" + +#: fdmprinter.def.json +msgctxt "nozzle_disallowed_areas label" +msgid "Nozzle Disallowed Areas" +msgstr "Nozzle Disallowed Areas" + +#: fdmprinter.def.json +msgctxt "nozzle_disallowed_areas description" +msgid "A list of polygons with areas the nozzle is not allowed to enter." +msgstr "ノズルが入ることができない領域を持つポリゴンのリスト。" + +#: fdmprinter.def.json +msgctxt "machine_head_polygon label" +msgid "Machine head polygon" +msgstr "Machine head polygon" + +#: fdmprinter.def.json +msgctxt "machine_head_polygon description" +msgid "A 2D silhouette of the print head (fan caps excluded)." +msgstr "プリントヘッドの2Dシルエット(ファンキャップは除く)。" + +#: fdmprinter.def.json +msgctxt "machine_head_with_fans_polygon label" +msgid "Machine head & Fan polygon" +msgstr "Machine head & Fan polygon" + +#: fdmprinter.def.json +msgctxt "machine_head_with_fans_polygon description" +msgid "A 2D silhouette of the print head (fan caps included)." +msgstr "プリントヘッドの2Dシルエット(ファンキャップが含まれています)。" + +#: fdmprinter.def.json +msgctxt "gantry_height label" +msgid "Gantry height" +msgstr "Gantry height" + +#: fdmprinter.def.json +msgctxt "gantry_height description" +msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes)." +msgstr "ノズルの先端とガントリーシステムの高さの差(X軸とY軸)。" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Nozzle Diameter" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "ノズルの内径。標準以外のノズルを使用する場合は、この設定を変更してください。" + +#: fdmprinter.def.json +msgctxt "machine_use_extruder_offset_to_offset_coords label" +msgid "Offset With Extruder" +msgstr "Offset With Extruder" + +#: fdmprinter.def.json +msgctxt "machine_use_extruder_offset_to_offset_coords description" +msgid "Apply the extruder offset to the coordinate system." +msgstr "エクストルーダーのオフセットを座標システムに適用します。" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_z label" +msgid "Extruder Prime Z Position" +msgstr "Extruder Prime Z Position" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_z description" +msgid "The Z coordinate of the position where the nozzle primes at the start of printing." +msgstr "印刷開始時にノズルがポジションを確認するZ座標。" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_abs label" +msgid "Absolute Extruder Prime Position" +msgstr "Absolute Extruder Prime Position" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_abs description" +msgid "Make the extruder prime position absolute rather than relative to the last-known location of the head." +msgstr "最後のヘッドの既知位置からではなく、エクストルーダー現在位置を絶対位置にします。" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_x label" +msgid "Maximum Speed X" +msgstr "Maximum Speed X" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_x description" +msgid "The maximum speed for the motor of the X-direction." +msgstr "X方向のモーターの最大速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_y label" +msgid "Maximum Speed Y" +msgstr "Maximum Speed Y" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_y description" +msgid "The maximum speed for the motor of the Y-direction." +msgstr "Y方向のモーターの最大速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_z label" +msgid "Maximum Speed Z" +msgstr "Maximum Speed Z" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_z description" +msgid "The maximum speed for the motor of the Z-direction." +msgstr "Z方向のモーターの最大速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_e label" +msgid "Maximum Feedrate" +msgstr "Maximum Feedrate" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_e description" +msgid "The maximum speed of the filament." +msgstr "フィラメントの最大速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_x label" +msgid "Maximum Acceleration X" +msgstr "Maximum Acceleration X" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_x description" +msgid "Maximum acceleration for the motor of the X-direction" +msgstr "X方向のモーターの最大速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_y label" +msgid "Maximum Acceleration Y" +msgstr "Maximum Acceleration Y" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_y description" +msgid "Maximum acceleration for the motor of the Y-direction." +msgstr "Y方向のモーターの最大加速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_z label" +msgid "Maximum Acceleration Z" +msgstr "Maximum Acceleration Z" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_z description" +msgid "Maximum acceleration for the motor of the Z-direction." +msgstr "Z方向のモーターの最大加速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_e label" +msgid "Maximum Filament Acceleration" +msgstr "Maximum Filament Acceleration" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_e description" +msgid "Maximum acceleration for the motor of the filament." +msgstr "フィラメントのモーターの最大加速度。" + +#: fdmprinter.def.json +msgctxt "machine_acceleration label" +msgid "Default Acceleration" +msgstr "Default Acceleration" + +#: fdmprinter.def.json +msgctxt "machine_acceleration description" +msgid "The default acceleration of print head movement." +msgstr "プリントヘッド移動のデフォルトの加速度。" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_xy label" +msgid "Default X-Y Jerk" +msgstr "Default X-Y Jerk" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_xy description" +msgid "Default jerk for movement in the horizontal plane." +msgstr "水平面内での移動のデフォルトジャーク。" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_z label" +msgid "Default Z Jerk" +msgstr "Default Z Jerk" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_z description" +msgid "Default jerk for the motor of the Z-direction." +msgstr "Z方向のモーターのデフォルトジャーク。" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_e label" +msgid "Default Filament Jerk" +msgstr "Default Filament Jerk" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_e description" +msgid "Default jerk for the motor of the filament." +msgstr "フィラメントのモーターのデフォルトジャーク。" + +#: fdmprinter.def.json +msgctxt "machine_minimum_feedrate label" +msgid "Minimum Feedrate" +msgstr "Minimum Feedrate" + +#: fdmprinter.def.json +msgctxt "machine_minimum_feedrate description" +msgid "The minimal movement speed of the print head." +msgstr "プリントヘッドの最小移動速度。" + +#: fdmprinter.def.json +msgctxt "resolution label" +msgid "Quality" +msgstr "Quality" + +#: fdmprinter.def.json +msgctxt "resolution description" +msgid "All settings that influence the resolution of the print. These settings have a large impact on the quality (and print time)" +msgstr "プリントの解像度に影響を与えるすべての設定。これらの設定は、品質(および印刷時間)に大きな影響を与えます。" + +#: fdmprinter.def.json +msgctxt "layer_height label" +msgid "Layer Height" +msgstr "Layer Height" + +#: fdmprinter.def.json +msgctxt "layer_height description" +msgid "The height of each layer in mm. Higher values produce faster prints in lower resolution, lower values produce slower prints in higher resolution." +msgstr "各レイヤーの高さ(mm)。値を大きくすると早く印刷しますが荒くなり、小さくすると印刷が遅くなりますが造形が綺麗になります。" + +#: fdmprinter.def.json +msgctxt "layer_height_0 label" +msgid "Initial Layer Height" +msgstr "Initial Layer Height" + +#: fdmprinter.def.json +msgctxt "layer_height_0 description" +msgid "The height of the initial layer in mm. A thicker initial layer makes adhesion to the build plate easier." +msgstr "初期レイヤーの高さ(mm)。厚い初期層はビルドプレートへの接着を容易にする。" + +#: fdmprinter.def.json +msgctxt "line_width label" +msgid "Line Width" +msgstr "Line Width" + +#: fdmprinter.def.json +msgctxt "line_width description" +msgid "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints." +msgstr "1ラインの幅。一般に、各ラインの幅は、ノズルの幅に対応する必要があります。ただし、この値を少し小さくすると、より良い造形が得られます。" + +#: fdmprinter.def.json +msgctxt "wall_line_width label" +msgid "Wall Line Width" +msgstr "Wall Line Width" + +#: fdmprinter.def.json +msgctxt "wall_line_width description" +msgid "Width of a single wall line." +msgstr "ウォールラインの幅。" + +#: fdmprinter.def.json +msgctxt "wall_line_width_0 label" +msgid "Outer Wall Line Width" +msgstr "Outer Wall Line Width" + +#: fdmprinter.def.json +msgctxt "wall_line_width_0 description" +msgid "Width of the outermost wall line. By lowering this value, higher levels of detail can be printed." +msgstr "最も外側のウォールラインの幅。この値を下げると、より詳細な印刷できます。" + +#: fdmprinter.def.json +msgctxt "wall_line_width_x label" +msgid "Inner Wall(s) Line Width" +msgstr "Inner Wall(s) Line Width" + +#: fdmprinter.def.json +msgctxt "wall_line_width_x description" +msgid "Width of a single wall line for all wall lines except the outermost one." +msgstr "一番外側のウォールラインを除くすべてのウォールラインのラインの幅。" + +#: fdmprinter.def.json +msgctxt "skin_line_width label" +msgid "Top/Bottom Line Width" +msgstr "Top/Bottom Line Width" + +#: fdmprinter.def.json +msgctxt "skin_line_width description" +msgid "Width of a single top/bottom line." +msgstr "上辺/底辺線のライン幅。" + +#: fdmprinter.def.json +msgctxt "infill_line_width label" +msgid "Infill Line Width" +msgstr "Infill Line Width" + +#: fdmprinter.def.json +msgctxt "infill_line_width description" +msgid "Width of a single infill line." +msgstr "インフィル線の幅。" + +#: fdmprinter.def.json +msgctxt "skirt_brim_line_width label" +msgid "Skirt/Brim Line Width" +msgstr "Skirt/Brim Line Width" + +#: fdmprinter.def.json +msgctxt "skirt_brim_line_width description" +msgid "Width of a single skirt or brim line." +msgstr "単一のスカートまたはブリムラインの幅。" + +#: fdmprinter.def.json +msgctxt "support_line_width label" +msgid "Support Line Width" +msgstr "Support Line Width" + +#: fdmprinter.def.json +msgctxt "support_line_width description" +msgid "Width of a single support structure line." +msgstr "単一のサポート構造のライン幅。" + +#: fdmprinter.def.json +msgctxt "support_interface_line_width label" +msgid "Support Interface Line Width" +msgstr "Support Interface Line Width" + +#: fdmprinter.def.json +msgctxt "support_interface_line_width description" +msgid "Width of a single line of support roof or floor." +msgstr "サポートのルーフ、フロアのライン幅" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "サポートルーフのライン幅。" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "サポートのフロアのラインの幅。" + +#: fdmprinter.def.json +msgctxt "prime_tower_line_width label" +msgid "Prime Tower Line Width" +msgstr "Prime Tower Line Width" + +#: fdmprinter.def.json +msgctxt "prime_tower_line_width description" +msgid "Width of a single prime tower line." +msgstr "単一のプライムタワーラインの幅。" + +#: fdmprinter.def.json +msgctxt "shell label" +msgid "Shell" +msgstr "Shell" + +#: fdmprinter.def.json +msgctxt "shell description" +msgid "Shell" +msgstr "外郭" + +#: fdmprinter.def.json +msgctxt "wall_thickness label" +msgid "Wall Thickness" +msgstr "Wall Thickness" + +#: fdmprinter.def.json +msgctxt "wall_thickness description" +msgid "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls." +msgstr "水平方向の外壁厚さ この値をウォールライン幅で割ることで、ウォール数を定義します。" + +#: fdmprinter.def.json +msgctxt "wall_line_count label" +msgid "Wall Line Count" +msgstr "Wall Line Count" + +#: fdmprinter.def.json +msgctxt "wall_line_count description" +msgid "The number of walls. When calculated by the wall thickness, this value is rounded to a whole number." +msgstr "ウォールの数。厚さから計算された場合、この値は整数になります。" + +#: fdmprinter.def.json +msgctxt "wall_0_wipe_dist label" +msgid "Outer Wall Wipe Distance" +msgstr "Outer Wall Wipe Distance" + +#: fdmprinter.def.json +msgctxt "wall_0_wipe_dist description" +msgid "Distance of a travel move inserted after the outer wall, to hide the Z seam better." +msgstr "外壁の後に挿入された移動の距離はZシームをよりよく隠します。" + +#: fdmprinter.def.json +msgctxt "top_bottom_thickness label" +msgid "Top/Bottom Thickness" +msgstr "Top/Bottom Thickness" + +#: fdmprinter.def.json +msgctxt "top_bottom_thickness description" +msgid "The thickness of the top/bottom layers in the print. This value divided by the layer height defines the number of top/bottom layers." +msgstr "プリント時の最上面、最底面の厚み。これを積層ピッチで割った値で最上面、最低面のレイヤーの数を定義します。" + +#: fdmprinter.def.json +msgctxt "top_thickness label" +msgid "Top Thickness" +msgstr "Top Thickness" + +#: fdmprinter.def.json +msgctxt "top_thickness description" +msgid "The thickness of the top layers in the print. This value divided by the layer height defines the number of top layers." +msgstr "プリント時の最上面の厚み。これを積層ピッチで割った値で最上面のレイヤーの数を定義します。" + +#: fdmprinter.def.json +msgctxt "top_layers label" +msgid "Top Layers" +msgstr "Top Layers" + +#: fdmprinter.def.json +msgctxt "top_layers description" +msgid "The number of top layers. When calculated by the top thickness, this value is rounded to a whole number." +msgstr "最上面のレイヤー数。トップの厚さを計算する場合、この値は整数になります。" + +#: fdmprinter.def.json +msgctxt "bottom_thickness label" +msgid "Bottom Thickness" +msgstr "Bottom Thickness" + +#: fdmprinter.def.json +msgctxt "bottom_thickness description" +msgid "The thickness of the bottom layers in the print. This value divided by the layer height defines the number of bottom layers." +msgstr "プリント時の最底面の厚み。これを積層ピッチで割った値で最低面のレイヤーの数を定義します。" + +#: fdmprinter.def.json +msgctxt "bottom_layers label" +msgid "Bottom Layers" +msgstr "Bottom Layers" + +#: fdmprinter.def.json +msgctxt "bottom_layers description" +msgid "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number." +msgstr "最底面のレイヤー数。下の厚さで計算すると、この値は整数に変換されます。" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern label" +msgid "Top/Bottom Pattern" +msgstr "Top/Bottom Pattern" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern description" +msgid "The pattern of the top/bottom layers." +msgstr "上層/底層のパターン。" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option lines" +msgid "Lines" +msgstr "Lines" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concentric" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 label" +msgid "Bottom Pattern Initial Layer" +msgstr "Bottom Pattern Initial Layer" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 description" +msgid "The pattern on the bottom of the print on the first layer." +msgstr "第1層のプリントの底部のパターン。" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option lines" +msgid "Lines" +msgstr "Lines" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option concentric" +msgid "Concentric" +msgstr "Concentric" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "skin_angles label" +msgid "Top/Bottom Line Directions" +msgstr "Top/Bottom Line Directions" + +#: fdmprinter.def.json +msgctxt "skin_angles description" +msgid "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)." +msgstr "上/下のレイヤーが線またはジグザグパターンを使う際の整数線の方向のリスト。リストの要素は、層が進行するにつれて順番に使用され、リストの終わりに達すると、最初から再び開始されます。リスト項目はコンマで区切られ、リスト全体は大括弧で囲まれています。デフォルトは、従来のデフォルト角度(45度と135度)を使用する空のリストです。" + +#: fdmprinter.def.json +msgctxt "wall_0_inset label" +msgid "Outer Wall Inset" +msgstr "Outer Wall Inset" + +#: fdmprinter.def.json +msgctxt "wall_0_inset description" +msgid "Inset applied to the path of the outer wall. If the outer wall is smaller than the nozzle, and printed after the inner walls, use this offset to get the hole in the nozzle to overlap with the inner walls instead of the outside of the model." +msgstr "外壁の経路にはめ込む。外壁がノズルよりも小さく、内壁の後に造形されている場合は、オフセットを使用して、ノズルの穴をモデルの外側ではなく内壁と重なるようにします。" + +#: fdmprinter.def.json +msgctxt "outer_inset_first label" +msgid "Outer Before Inner Walls" +msgstr "Outer Before Inner Walls" + +#: fdmprinter.def.json +msgctxt "outer_inset_first description" +msgid "Prints walls in order of outside to inside when enabled. This can help improve dimensional accuracy in X and Y when using a high viscosity plastic like ABS; however it can decrease outer surface print quality, especially on overhangs." +msgstr "有効にすると、壁は外側から内側に順番に印刷します。これは、ABSのような高粘度のプラスチックを使用する際、XとYの寸法精度を改善するのに役立ちます。しかし、特にオーバーハング時に、外面の印刷品質を低下させる可能性があります。" + +#: fdmprinter.def.json +msgctxt "alternate_extra_perimeter label" +msgid "Alternate Extra Wall" +msgstr "Alternate Extra Wall" + +#: fdmprinter.def.json +msgctxt "alternate_extra_perimeter description" +msgid "Prints an extra wall at every other layer. This way infill gets caught between these extra walls, resulting in stronger prints." +msgstr "すべてのレイヤーごとに予備の壁を印刷します。このようにして、インフィルは余分な壁の間に挟まれ、より強い印刷物が得られる。" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_enabled label" +msgid "Compensate Wall Overlaps" +msgstr "Compensate Wall Overlaps" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_enabled description" +msgid "Compensate the flow for parts of a wall being printed where there is already a wall in place." +msgstr "すでに壁が設置されている部品の壁の流れを補正します。" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_0_enabled label" +msgid "Compensate Outer Wall Overlaps" +msgstr "Compensate Outer Wall Overlaps" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_0_enabled description" +msgid "Compensate the flow for parts of an outer wall being printed where there is already a wall in place." +msgstr "すでに壁が設置されている場所にプリントされている外壁の部分の流れを補う。" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_x_enabled label" +msgid "Compensate Inner Wall Overlaps" +msgstr "Compensate Inner Wall Overlaps" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_x_enabled description" +msgid "Compensate the flow for parts of an inner wall being printed where there is already a wall in place." +msgstr "すでに壁が設置されている場所にプリントされている内壁の部分の流れを補正します。" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps label" +msgid "Fill Gaps Between Walls" +msgstr "Fill Gaps Between Walls" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps description" +msgid "Fills the gaps between walls where no walls fit." +msgstr "壁が入らない壁の隙間を埋める。" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps option nowhere" +msgid "Nowhere" +msgstr "Nowhere" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps option everywhere" +msgid "Everywhere" +msgstr "Everywhere" + +#: fdmprinter.def.json +msgctxt "xy_offset label" +msgid "Horizontal Expansion" +msgstr "Horizontal Expansion" + +#: fdmprinter.def.json +msgctxt "xy_offset description" +msgid "Amount of offset applied to all polygons in each layer. Positive values can compensate for too big holes; negative values can compensate for too small holes." +msgstr "各レイヤーのすべてのポリゴンに適用されるオフセットの量。正の値は大きすぎる穴を補うことができます。負の値は小さすぎる穴を補うことができます。" + +#: fdmprinter.def.json +msgctxt "z_seam_type label" +msgid "Z Seam Alignment" +msgstr "Z Seam Alignment" + +#: fdmprinter.def.json +msgctxt "z_seam_type description" +msgid "Starting point of each path in a layer. When paths in consecutive layers start at the same point a vertical seam may show on the print. When aligning these near a user specified location, the seam is easiest to remove. When placed randomly the inaccuracies at the paths' start will be less noticeable. When taking the shortest path the print will be quicker." +msgstr "レイヤーの経路始点。連続するレイヤー経路が同じポイントで開始すると、縦のシームが印刷に表示されることがあります。ユーザーが指定した場所の近くでこれらを整列させる場合、継ぎ目は最も簡単に取り除くことができます。無作為に配置すると、経路開始時の粗さが目立たなくなります。最短経路をとると、印刷が速くなります。" + +#: fdmprinter.def.json +msgctxt "z_seam_type option back" +msgid "User Specified" +msgstr "User Specified" + +#: fdmprinter.def.json +msgctxt "z_seam_type option shortest" +msgid "Shortest" +msgstr "Shortest" + +#: fdmprinter.def.json +msgctxt "z_seam_type option random" +msgid "Random" +msgstr "Random" + +#: fdmprinter.def.json +msgctxt "z_seam_x label" +msgid "Z Seam X" +msgstr "Z Seam X" + +#: fdmprinter.def.json +msgctxt "z_seam_x description" +msgid "The X coordinate of the position near where to start printing each part in a layer." +msgstr "" +"レイヤー内の各印刷を開始するX座\n" +"標の位置。" + +#: fdmprinter.def.json +msgctxt "z_seam_y label" +msgid "Z Seam Y" +msgstr "Z Seam Y" + +#: fdmprinter.def.json +msgctxt "z_seam_y description" +msgid "The Y coordinate of the position near where to start printing each part in a layer." +msgstr "レイヤー内の各パーツの印刷を開始する場所の近くのY座標。" + +#: fdmprinter.def.json +msgctxt "skin_no_small_gaps_heuristic label" +msgid "Ignore Small Z Gaps" +msgstr "Ignore Small Z Gaps" + +#: fdmprinter.def.json +msgctxt "skin_no_small_gaps_heuristic description" +msgid "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." +msgstr "モデルに垂直方向のギャップが小さくある場合、これらの狭いスペースにおいて上部および下部スキンを生成するために、約5%の計算時間が追加されます。そのような場合は、設定を無効にしてください。" + +#: fdmprinter.def.json +msgctxt "infill label" +msgid "Infill" +msgstr "Infill" + +#: fdmprinter.def.json +msgctxt "infill description" +msgid "Infill" +msgstr "インフィル" + +#: fdmprinter.def.json +msgctxt "infill_sparse_density label" +msgid "Infill Density" +msgstr "Infill Density" + +#: fdmprinter.def.json +msgctxt "infill_sparse_density description" +msgid "Adjusts the density of infill of the print." +msgstr "プリントのインフィルの密度を調整します。" + +#: fdmprinter.def.json +msgctxt "infill_line_distance label" +msgid "Infill Line Distance" +msgstr "Infill Line Distance" + +#: fdmprinter.def.json +msgctxt "infill_line_distance description" +msgid "Distance between the printed infill lines. This setting is calculated by the infill density and the infill line width." +msgstr "造形されたインフィルラインの距離。この設定は、インフィル密度およびライン幅によって計算される。" + +#: fdmprinter.def.json +msgctxt "infill_pattern label" +msgid "Infill Pattern" +msgstr "Infill Pattern" + +#: fdmprinter.def.json +msgctxt "infill_pattern description" +msgid "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, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "印刷物のインフィルのパターン。ラインとジグザグのインフィルは交互のレイヤー方向をずらし、材料費を削減します。グリッド、三角形、キュービック、四面体、同心円のパターンは、各レイヤーに完全に印刷されます。立方体および四面体のインフィルは各層ごとに変化し、各方向に沿ってより均等な強度分布を提供する。" + +#: fdmprinter.def.json +msgctxt "infill_pattern option grid" +msgid "Grid" +msgstr "Grid" + +#: fdmprinter.def.json +msgctxt "infill_pattern option lines" +msgid "Lines" +msgstr "Lines" + +#: fdmprinter.def.json +msgctxt "infill_pattern option triangles" +msgid "Triangles" +msgstr "Triangles" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cubic" +msgid "Cubic" +msgstr "Cubic" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cubicsubdiv" +msgid "Cubic Subdivision" +msgstr "Cubic Subdivision" + +#: fdmprinter.def.json +msgctxt "infill_pattern option tetrahedral" +msgid "Tetrahedral" +msgstr "Tetrahedral" + +#: fdmprinter.def.json +msgctxt "infill_pattern option concentric" +msgid "Concentric" +msgstr "Concentric" + +#: fdmprinter.def.json +msgctxt "infill_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentric 3D" + +#: fdmprinter.def.json +msgctxt "infill_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "infill_angles label" +msgid "Infill Line Directions" +msgstr "Infill Line Directions" + +#: fdmprinter.def.json +msgctxt "infill_angles description" +msgid "A list of integer line directions to use. 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 for the lines and zig zag patterns and 45 degrees for all other patterns)." +msgstr "使用する整数線の方向のリスト。リストの要素は、レイヤの層に合わせて順番に使用され、リストの末尾に達すると、最初から再び開始されます。リスト項目はコンマで区切られ、リスト全体は大括弧で囲まれています。デフォルトは空のリストです。これは、従来のデフォルト角度(線とジグザグのパターンでは45と135度、他のすべてのパターンでは45度)を使用することを意味します。" + +#: fdmprinter.def.json +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "時々インフィルを印刷してください、オブジェクト内でフィラメントがぐちゃぐちゃに巻き上がります。印刷時間は短縮できるが、フィラメントの動きは予想不可能となります。" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "最大角度 w.r.t.-印刷範囲内がスパゲッティ・インフィルで埋まるZ軸。この値を下げることでモデルの斜め部分にインフィルが各レイヤーに付着します。" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "内部空間の上から結合して埋め込むことができる最大の高さ" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "スパゲッティ・インフィルがプリントされる壁からのオフセット。" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "スパゲッティ・インフィルの密度を調整します。インフィルの密度は、行間枠のパターンを決めるだけで、スパゲッティ・インフィルの押出量は制御しないことにご注意ください。" + +#: fdmprinter.def.json +msgctxt "sub_div_rad_add label" +msgid "Cubic Subdivision Shell" +msgstr "Cubic Subdivision Shell" + +#: fdmprinter.def.json +msgctxt "sub_div_rad_add description" +msgid "An addition to the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to a thicker shell of small cubes near the boundary of the model." +msgstr "この立方体を細分するかどうかを決定するために、各立方体の中心から半径に加えてモデルの境界を調べます。値を大きくすると、モデルの境界付近に小さな立方体のより厚いシェルができます。" + +#: fdmprinter.def.json +msgctxt "infill_overlap label" +msgid "Infill Overlap Percentage" +msgstr "Infill Overlap Percentage" + +#: fdmprinter.def.json +msgctxt "infill_overlap description" +msgid "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill." +msgstr "インフィルと壁が交差する量、わずかな交差によって壁がインフィルにしっかりつながります。" + +#: fdmprinter.def.json +msgctxt "infill_overlap_mm label" +msgid "Infill Overlap" +msgstr "Infill Overlap" + +#: fdmprinter.def.json +msgctxt "infill_overlap_mm description" +msgid "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill." +msgstr "インフィルと壁が交差する量、わずかな交差によって壁がインフィルにしっかりつながります。" + +#: fdmprinter.def.json +msgctxt "skin_overlap label" +msgid "Skin Overlap Percentage" +msgstr "Skin Overlap Percentage" + +#: fdmprinter.def.json +msgctxt "skin_overlap description" +msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin." +msgstr "スキンと壁の間のオーバーラップ量 わずかなオーバーラップによって壁がスキンにしっかりつながります。" + +#: fdmprinter.def.json +msgctxt "skin_overlap_mm label" +msgid "Skin Overlap" +msgstr "Skin Overlap" + +#: fdmprinter.def.json +msgctxt "skin_overlap_mm description" +msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin." +msgstr "スキンと壁の間の交差した量 わずかなオーバーラップによって壁がスキンにしっかりつながります。" + +#: fdmprinter.def.json +msgctxt "infill_wipe_dist label" +msgid "Infill Wipe Distance" +msgstr "Infill Wipe Distance" + +#: fdmprinter.def.json +msgctxt "infill_wipe_dist description" +msgid "Distance of a travel move inserted after every infill line, to make the infill stick to the walls better. This option is similar to infill overlap, but without extrusion and only on one end of the infill line." +msgstr "インフィルラインごとに挿入された移動距離は壁のインフィルへの接着をより良くします。このオプションは、インフィルオーバーラップに似ていますが、押出なく、インフィルラインの片側にのみあります。" + +#: fdmprinter.def.json +msgctxt "infill_sparse_thickness label" +msgid "Infill Layer Thickness" +msgstr "Infill Layer Thickness" + +#: fdmprinter.def.json +msgctxt "infill_sparse_thickness description" +msgid "The thickness per layer of infill material. This value should always be a multiple of the layer height and is otherwise rounded." +msgstr "インフィルマテリアルの層ごとの厚さ。この値は常にレイヤーの高さの倍数でなければなりません。" + +#: fdmprinter.def.json +msgctxt "gradual_infill_steps label" +msgid "Gradual Infill Steps" +msgstr "Gradual Infill Steps" + +#: fdmprinter.def.json +msgctxt "gradual_infill_steps description" +msgid "Number of times to reduce the infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Infill Density." +msgstr "天井面の表面に近づく際にインフィル密度が半減する回数。天井面に近い領域ほど高い密度となり、インフィル密度まで達します。" + +#: fdmprinter.def.json +msgctxt "gradual_infill_step_height label" +msgid "Gradual Infill Step Height" +msgstr "Gradual Infill Step Height" + +#: fdmprinter.def.json +msgctxt "gradual_infill_step_height description" +msgid "The height of infill of a given density before switching to half the density." +msgstr "密度が半分に切り替える前の所定のインフィルの高さ。" + +#: fdmprinter.def.json +msgctxt "infill_before_walls label" +msgid "Infill Before Walls" +msgstr "Infill Before Walls" + +#: fdmprinter.def.json +msgctxt "infill_before_walls description" +msgid "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface." +msgstr "" +"壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\n" +"はじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます" + +#: fdmprinter.def.json +msgctxt "min_infill_area label" +msgid "Minimum Infill Area" +msgstr "Minimum Infill Area" + +#: fdmprinter.def.json +msgctxt "min_infill_area description" +msgid "Don't generate areas of infill smaller than this (use skin instead)." +msgstr "これより小さいインフィルの領域を生成しないでください (代わりにスキンを使用してください)。" + +#: fdmprinter.def.json +msgctxt "expand_skins_into_infill label" +msgid "Expand Skins Into Infill" +msgstr "Expand Skins Into Infill" + +#: fdmprinter.def.json +msgctxt "expand_skins_into_infill description" +msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +msgstr "平らな面の上部または底部のスキン部の及びその領域を展開します。既定では、スキンインフィルの周りの壁の線で停止しますが、これはインフィル密度が低いときに現れる穴につながることがあります。この設定は、次の層の面材が皮膚にかかっているので、壁の線を超えてスキンを拡張します。" + +#: fdmprinter.def.json +msgctxt "expand_upper_skins label" +msgid "Expand Top Skins Into Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_upper_skins description" +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "インフィルをトップの面部分 (空気に触れる領域) を広げることで、上のインフィルを支えます。" + +#: fdmprinter.def.json +msgctxt "expand_lower_skins label" +msgid "Expand Bottom Skins Into Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_lower_skins description" +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "下面(下に空気がある領域)を拡大して、上と下のインフィルによって支えるようにします。" + +#: fdmprinter.def.json +msgctxt "expand_skins_expand_distance label" +msgid "Skin Expand Distance" +msgstr "Skin Expand Distance" + +#: fdmprinter.def.json +msgctxt "expand_skins_expand_distance description" +msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +msgstr "スキンがインフィルに展開される距離。デフォルトの距離は、インフィルの密度が低いときにスキンに現れる穴とインフィルの行間とギャップを埋めるのにに十分です。大抵の場合、距離は小さくても問題ありません。" + +#: fdmprinter.def.json +msgctxt "max_skin_angle_for_expansion label" +msgid "Maximum Skin Angle for Expansion" +msgstr "Maximum Skin Angle for Expansion" + +#: fdmprinter.def.json +msgctxt "max_skin_angle_for_expansion description" +msgid "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical." +msgstr "この設定より大きい角を持つオブジェクトの上部または底部の表面、その表面のスキンはを拡大しません。これは、モデルのサーフェスに近い垂直斜面がある場合に作成される狭いスキン領域の拡大を回避します。0 ° の角度は水平方向、90 ° の角度が垂直方向です。" + +#: fdmprinter.def.json +msgctxt "min_skin_width_for_expansion label" +msgid "Minimum Skin Width for Expansion" +msgstr "Minimum Skin Width for Expansion" + +#: fdmprinter.def.json +msgctxt "min_skin_width_for_expansion description" +msgid "Skin areas narrower than this are not expanded. This avoids expanding the narrow skin areas that are created when the model surface has a slope close to the vertical." +msgstr "これより狭いスキン領域は展開されません。モデル表面に、垂直に近い斜面がある場合に作成される狭いスキン領域の拡大を回避するためです。" + +#: fdmprinter.def.json +msgctxt "material label" +msgid "Material" +msgstr "Material" + +#: fdmprinter.def.json +msgctxt "material description" +msgid "Material" +msgstr "マテリアル" + +#: fdmprinter.def.json +msgctxt "material_flow_dependent_temperature label" +msgid "Auto Temperature" +msgstr "Auto Temperature" + +#: fdmprinter.def.json +msgctxt "material_flow_dependent_temperature description" +msgid "Change the temperature for each layer automatically with the average flow speed of that layer." +msgstr "その画層の平均流速で自動的にレイヤーごとに温度を変更します。" + +#: fdmprinter.def.json +msgctxt "default_material_print_temperature label" +msgid "Default Printing Temperature" +msgstr "Default Printing Temperature" + +#: fdmprinter.def.json +msgctxt "default_material_print_temperature description" +msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" +msgstr "印刷中のデフォルトの温度。これはマテリアルの基本温度となります。他のすべての造形温度はこの値に基づいてオフセットする必要があります。" + +#: fdmprinter.def.json +msgctxt "material_print_temperature label" +msgid "Printing Temperature" +msgstr "Printing Temperature" + +#: fdmprinter.def.json +msgctxt "material_print_temperature description" +msgid "The temperature used for printing." +msgstr "印刷中の温度。" + +#: fdmprinter.def.json +msgctxt "material_print_temperature_layer_0 label" +msgid "Printing Temperature Initial Layer" +msgstr "Printing Temperature Initial Layer" + +#: fdmprinter.def.json +msgctxt "material_print_temperature_layer_0 description" +msgid "The temperature used for printing the first layer. Set at 0 to disable special handling of the initial layer." +msgstr "最初のレイヤーを印刷する温度。初期レイヤーのみ特別設定が必要ない場合は 0 に設定します。" + +#: fdmprinter.def.json +msgctxt "material_initial_print_temperature label" +msgid "Initial Printing Temperature" +msgstr "Initial Printing Temperature" + +#: fdmprinter.def.json +msgctxt "material_initial_print_temperature description" +msgid "The minimal temperature while heating up to the Printing Temperature at which printing can already start." +msgstr "加熱中、印刷を開始することができる最低の温度。" + +#: fdmprinter.def.json +msgctxt "material_final_print_temperature label" +msgid "Final Printing Temperature" +msgstr "Final Printing Temperature" + +#: fdmprinter.def.json +msgctxt "material_final_print_temperature description" +msgid "The temperature to which to already start cooling down just before the end of printing." +msgstr "印刷終了直前に冷却を開始する温度。" + +#: fdmprinter.def.json +msgctxt "material_flow_temp_graph label" +msgid "Flow Temperature Graph" +msgstr "Flow Temperature Graph" + +#: fdmprinter.def.json +msgctxt "material_flow_temp_graph description" +msgid "Data linking material flow (in mm3 per second) to temperature (degrees Celsius)." +msgstr "マテリアルフロー(毎秒 3mm) と温度 (° c) をリンクします。" + +#: fdmprinter.def.json +msgctxt "material_extrusion_cool_down_speed label" +msgid "Extrusion Cool Down Speed Modifier" +msgstr "Extrusion Cool Down Speed Modifier" + +#: fdmprinter.def.json +msgctxt "material_extrusion_cool_down_speed description" +msgid "The extra speed by which the nozzle cools while extruding. The same value is used to signify the heat up speed lost when heating up while extruding." +msgstr "印刷中にノズルが冷える際の速度。同じ値が、加熱する際の加熱速度に割当られます。" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature label" +msgid "Build Plate Temperature" +msgstr "Build Plate Temperature" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature description" +msgid "The temperature used for the heated build plate. If this is 0, the bed will not heat up for this print." +msgstr "加熱式ビルドプレート温度。これが 0 の場合、ベッドは加熱しません。" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature_layer_0 label" +msgid "Build Plate Temperature Initial Layer" +msgstr "Build Plate Temperature Initial Layer" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature_layer_0 description" +msgid "The temperature used for the heated build plate at the first layer." +msgstr "最初のレイヤー印刷時のビルドプレートの温度。" + +#: fdmprinter.def.json +msgctxt "material_diameter label" +msgid "Diameter" +msgstr "Diameter" + +#: fdmprinter.def.json +msgctxt "material_diameter description" +msgid "Adjusts the diameter of the filament used. Match this value with the diameter of the used filament." +msgstr "使用するフィラメントの太さの調整 この値を使用するフィラメントの太さと一致させてください。" + +#: fdmprinter.def.json +msgctxt "material_flow label" +msgid "Flow" +msgstr "Flow" + +#: fdmprinter.def.json +msgctxt "material_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value." +msgstr "流れの補修: 押出されるマテリアルの量は、この値から乗算されます。" + +#: fdmprinter.def.json +msgctxt "retraction_enable label" +msgid "Enable Retraction" +msgstr "Enable Retraction" + +#: fdmprinter.def.json +msgctxt "retraction_enable description" +msgid "Retract the filament when the nozzle is moving over a non-printed area. " +msgstr "ノズルが印刷しないで良い領域を移動する際にフィラメントを引き戻す。" + +#: fdmprinter.def.json +msgctxt "retract_at_layer_change label" +msgid "Retract at Layer Change" +msgstr "Retract at Layer Change" + +#: fdmprinter.def.json +msgctxt "retract_at_layer_change description" +msgid "Retract the filament when the nozzle is moving to the next layer." +msgstr "ノズルは次の層に移動するときフィラメントを引き戻します。" + +#: fdmprinter.def.json +msgctxt "retraction_amount label" +msgid "Retraction Distance" +msgstr "Retraction Distance" + +#: fdmprinter.def.json +msgctxt "retraction_amount description" +msgid "The length of material retracted during a retraction move." +msgstr "引き戻されるマテリアルの長さ" + +#: fdmprinter.def.json +msgctxt "retraction_speed label" +msgid "Retraction Speed" +msgstr "Retraction Speed" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "retraction_speed description" +msgid "The speed at which the filament is retracted and primed during a retraction move." +msgstr "フィラメントが引き戻される時のスピード" + +#: fdmprinter.def.json +msgctxt "retraction_retract_speed label" +msgid "Retraction Retract Speed" +msgstr "Retraction Retract Speed" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "retraction_retract_speed description" +msgid "The speed at which the filament is retracted during a retraction move." +msgstr "フィラメントが引き戻される時のスピード" + +#: fdmprinter.def.json +msgctxt "retraction_prime_speed label" +msgid "Retraction Prime Speed" +msgstr "Retraction Prime Speed" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "retraction_prime_speed description" +msgid "The speed at which the filament is primed during a retraction move." +msgstr "フィラメントが引き戻される時のスピード" + +#: fdmprinter.def.json +msgctxt "retraction_extra_prime_amount label" +msgid "Retraction Extra Prime Amount" +msgstr "Retraction Extra Prime Amount" + +#: fdmprinter.def.json +msgctxt "retraction_extra_prime_amount description" +msgid "Some material can ooze away during a travel move, which can be compensated for here." +msgstr "マテリアルによっては、移動中に滲み出てきてしまうときがあり、ここで調整することができます。" + +#: fdmprinter.def.json +msgctxt "retraction_min_travel label" +msgid "Retraction Minimum Travel" +msgstr "Retraction Minimum Travel" + +#: fdmprinter.def.json +msgctxt "retraction_min_travel description" +msgid "The minimum distance of travel needed for a retraction to happen at all. This helps to get fewer retractions in a small area." +msgstr "フィラメントを引き戻す際に必要な最小移動距離。これは、短い距離内での引き戻しの回数を減らすために役立ちます。" + +#: fdmprinter.def.json +msgctxt "retraction_count_max label" +msgid "Maximum Retraction Count" +msgstr "Maximum Retraction Count" + +#: fdmprinter.def.json +msgctxt "retraction_count_max description" +msgid "This setting limits the number of retractions occurring within the minimum extrusion distance window. Further retractions within this window will be ignored. This avoids retracting repeatedly on the same piece of filament, as that can flatten the filament and cause grinding issues." +msgstr "この設定は、決められた距離の中で起こる引き戻しの回数を制限します。制限数以上の引き戻しは無視されます。これによりフィーダーでフィラメントを誤って削ってしまう問題を軽減させます。" + +#: fdmprinter.def.json +msgctxt "retraction_extrusion_window label" +msgid "Minimum Extrusion Distance Window" +msgstr "Minimum Extrusion Distance Window" + +#: fdmprinter.def.json +msgctxt "retraction_extrusion_window description" +msgid "The window in which the maximum retraction count is enforced. This value should be approximately the same as the retraction distance, so that effectively the number of times a retraction passes the same patch of material is limited." +msgstr "最大の引き戻し回数。この値は引き戻す距離と同じであることで、引き戻しが効果的に行われます。" + +#: fdmprinter.def.json +msgctxt "material_standby_temperature label" +msgid "Standby Temperature" +msgstr "Standby Temperature" + +#: fdmprinter.def.json +msgctxt "material_standby_temperature description" +msgid "The temperature of the nozzle when another nozzle is currently used for printing." +msgstr "印刷していないノズルの温度(もう一方のノズルが印刷中)" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_amount label" +msgid "Nozzle Switch Retraction Distance" +msgstr "Nozzle Switch Retraction Distance" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_amount description" +msgid "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone." +msgstr "引き込み量:引き込みを行わない場合は0に設定します。これは通常、ヒートゾーンの長さと同じに設定します。" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speeds label" +msgid "Nozzle Switch Retraction Speed" +msgstr "Nozzle Switch Retraction Speed" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speeds description" +msgid "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding." +msgstr "フィラメントを引き戻す速度。速度が早い程良いが早すぎるとフィラメントを削ってしまう可能性があります。" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speed label" +msgid "Nozzle Switch Retract Speed" +msgstr "Nozzle Switch Retract Speed" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speed description" +msgid "The speed at which the filament is retracted during a nozzle switch retract." +msgstr "ノズル切り替え中のフィラメントの引き込み速度。" + +#: fdmprinter.def.json +msgctxt "switch_extruder_prime_speed label" +msgid "Nozzle Switch Prime Speed" +msgstr "Nozzle Switch Prime Speed" + +#: fdmprinter.def.json +msgctxt "switch_extruder_prime_speed description" +msgid "The speed at which the filament is pushed back after a nozzle switch retraction." +msgstr "ノズル スイッチ後にフィラメントが押し戻される速度。" + +#: fdmprinter.def.json +msgctxt "speed label" +msgid "Speed" +msgstr "Speed" + +#: fdmprinter.def.json +msgctxt "speed description" +msgid "Speed" +msgstr "スピード" + +#: fdmprinter.def.json +msgctxt "speed_print label" +msgid "Print Speed" +msgstr "Print Speed" + +#: fdmprinter.def.json +msgctxt "speed_print description" +msgid "The speed at which printing happens." +msgstr "印刷スピード" + +#: fdmprinter.def.json +msgctxt "speed_infill label" +msgid "Infill Speed" +msgstr "Infill Speed" + +#: fdmprinter.def.json +msgctxt "speed_infill description" +msgid "The speed at which infill is printed." +msgstr "インフィルを印刷する速度" + +#: fdmprinter.def.json +msgctxt "speed_wall label" +msgid "Wall Speed" +msgstr "Wall Speed" + +#: fdmprinter.def.json +msgctxt "speed_wall description" +msgid "The speed at which the walls are printed." +msgstr "ウォールを印刷する速度" + +#: fdmprinter.def.json +msgctxt "speed_wall_0 label" +msgid "Outer Wall Speed" +msgstr "Outer Wall Speed" + +#: fdmprinter.def.json +msgctxt "speed_wall_0 description" +msgid "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will affect quality in a negative way." +msgstr "最も外側のウォールをプリントする速度。外側の壁を低速でプリントすると表面の質が改善しますが、内壁と外壁のプリント速度の差が大きすぎると、印刷の質が悪化します。" + +#: fdmprinter.def.json +msgctxt "speed_wall_x label" +msgid "Inner Wall Speed" +msgstr "Inner Wall Speed" + +#: fdmprinter.def.json +msgctxt "speed_wall_x description" +msgid "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed." +msgstr "内側のウォールをプリントする速度 外壁より内壁を高速でプリントすると、印刷時間の短縮になります。外壁のプリント速度とインフィルのプリント速度の中間に設定するのが適切です。" + +#: fdmprinter.def.json +msgctxt "speed_topbottom label" +msgid "Top/Bottom Speed" +msgstr "Top/Bottom Speed" + +#: fdmprinter.def.json +msgctxt "speed_topbottom description" +msgid "The speed at which top/bottom layers are printed." +msgstr "トップ/ボトムのレイヤーのプリント速度" + +#: fdmprinter.def.json +msgctxt "speed_support label" +msgid "Support Speed" +msgstr "Support Speed" + +#: fdmprinter.def.json +msgctxt "speed_support description" +msgid "The speed at which the support structure is printed. Printing support at higher speeds can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing." +msgstr "サポート材をプリントする速度です。高速でサポートをプリントすると、印刷時間を大幅に短縮できます。サポート材は印刷後に削除されますので、サポート構造の品質はそれほど重要ではありません。" + +#: fdmprinter.def.json +msgctxt "speed_support_infill label" +msgid "Support Infill Speed" +msgstr "Support Infill Speed" + +#: fdmprinter.def.json +msgctxt "speed_support_infill description" +msgid "The speed at which the infill of support is printed. Printing the infill at lower speeds improves stability." +msgstr "サポート材のインフィルをプリントする速度 低速でプリントすると安定性が向上します。" + +#: fdmprinter.def.json +msgctxt "speed_support_interface label" +msgid "Support Interface Speed" +msgstr "Support Interface Speed" + +#: fdmprinter.def.json +msgctxt "speed_support_interface description" +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "ルーフとフロアのサポート材をプリントする速度。低速でプリントするとオーバーハングの品質を向上できます。" + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "ルーフとフロアのサポート材をプリントする速度 これらを低速でプリントするとオーバーハングの品質を向上できます" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "フロアのサポートがプリントされる速度。低速で印刷することで、サポートの接着性を向上させることができます。" + +#: fdmprinter.def.json +msgctxt "speed_prime_tower label" +msgid "Prime Tower Speed" +msgstr "Prime Tower Speed" + +#: fdmprinter.def.json +msgctxt "speed_prime_tower description" +msgid "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal." +msgstr "プライムタワーをプリントする速度です。異なるフィラメントの印刷で密着性が最適ではない場合、低速にてプライム タワーをプリントすることでより安定させることができます。" + +#: fdmprinter.def.json +msgctxt "speed_travel label" +msgid "Travel Speed" +msgstr "Travel Speed" + +#: fdmprinter.def.json +msgctxt "speed_travel description" +msgid "The speed at which travel moves are made." +msgstr "移動中のスピード" + +#: fdmprinter.def.json +msgctxt "speed_layer_0 label" +msgid "Initial Layer Speed" +msgstr "Initial Layer Speed" + +#: fdmprinter.def.json +msgctxt "speed_layer_0 description" +msgid "The speed for the initial layer. A lower value is advised to improve adhesion to the build plate." +msgstr "一層目での速度。ビルトプレートへの接着を向上するため低速を推奨します" + +#: fdmprinter.def.json +msgctxt "speed_print_layer_0 label" +msgid "Initial Layer Print Speed" +msgstr "Initial Layer Print Speed" + +#: fdmprinter.def.json +msgctxt "speed_print_layer_0 description" +msgid "The speed of printing for the initial layer. A lower value is advised to improve adhesion to the build plate." +msgstr "一層目をプリントする速度 ビルトプレートへの接着を向上するため低速を推奨します" + +#: fdmprinter.def.json +msgctxt "speed_travel_layer_0 label" +msgid "Initial Layer Travel Speed" +msgstr "Initial Layer Travel Speed" + +#: fdmprinter.def.json +msgctxt "speed_travel_layer_0 description" +msgid "The speed of travel moves in the initial layer. A lower value is advised to prevent pulling previously printed parts away from the build plate. The value of this setting can automatically be calculated from the ratio between the Travel Speed and the Print Speed." +msgstr "最初のレイヤーを印刷する際のトラベルスピード。低速の方が、ビルドプレート剥がれるリスクを軽減することができます。この設定の値は、移動速度と印刷速度の比から自動的に計算されます。" + +#: fdmprinter.def.json +msgctxt "skirt_brim_speed label" +msgid "Skirt/Brim Speed" +msgstr "Skirt/Brim Speed" + +#: fdmprinter.def.json +msgctxt "skirt_brim_speed description" +msgid "The speed at which the skirt and brim are printed. Normally this is done at the initial layer speed, but sometimes you might want to print the skirt or brim at a different speed." +msgstr "スカートとブリムのプリント速度 通常は一層目のスピードと同じですが、異なる速度でスカートやブリムをプリントしたい場合に設定してください。" + +#: fdmprinter.def.json +msgctxt "max_feedrate_z_override label" +msgid "Maximum Z Speed" +msgstr "Maximum Z Speed" + +#: fdmprinter.def.json +msgctxt "max_feedrate_z_override description" +msgid "The maximum speed with which the build plate is moved. Setting this to zero causes the print to use the firmware defaults for the maximum z speed." +msgstr "ビルトプレートが移動する最高速度 この値を0に設定すると、ファームウェアのデフォルト値のZの最高速度が適用されます。" + +#: fdmprinter.def.json +msgctxt "speed_slowdown_layers label" +msgid "Number of Slower Layers" +msgstr "Number of Slower Layers" + +#: fdmprinter.def.json +msgctxt "speed_slowdown_layers description" +msgid "The first few layers are printed slower than the rest of the model, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers." +msgstr "最初の数層は印刷失敗の可能性を軽減させるために、設定した印刷スピードよりも遅く印刷されます。" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_enabled label" +msgid "Equalize Filament Flow" +msgstr "Equalize Filament Flow" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_enabled description" +msgid "Print thinner than normal lines faster so that the amount of material extruded per second remains the same. Thin pieces in your model might require lines printed with smaller line width than provided in the settings. This setting controls the speed changes for such lines." +msgstr "通常より細いラインを高速プリントするので、時間当たりのフィラメント押出量は同じです。薄いモデル部品は、設定よりも細い線幅でプリントすることが要求される場合があり、本設定はそのような線の速度を変更します。" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_max label" +msgid "Maximum Speed for Flow Equalization" +msgstr "Maximum Speed for Flow Equalization" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_max description" +msgid "Maximum print speed when adjusting the print speed in order to equalize flow." +msgstr "吐出を均一にするための調整時の最高スピード" + +#: fdmprinter.def.json +msgctxt "acceleration_enabled label" +msgid "Enable Acceleration Control" +msgstr "Enable Acceleration Control" + +#: fdmprinter.def.json +msgctxt "acceleration_enabled description" +msgid "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality." +msgstr "プリントヘッドのスピード調整の有効化 加速度の増加は印刷時間を短縮しますが印刷の質を損ねます。" + +#: fdmprinter.def.json +msgctxt "acceleration_print label" +msgid "Print Acceleration" +msgstr "Print Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_print description" +msgid "The acceleration with which printing happens." +msgstr "印刷の加速スピードです。" + +#: fdmprinter.def.json +msgctxt "acceleration_infill label" +msgid "Infill Acceleration" +msgstr "Infill Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_infill description" +msgid "The acceleration with which infill is printed." +msgstr "インフィルの印刷の加速スピード。" + +#: fdmprinter.def.json +msgctxt "acceleration_wall label" +msgid "Wall Acceleration" +msgstr "Wall Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_wall description" +msgid "The acceleration with which the walls are printed." +msgstr "ウォールをプリントする際の加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_0 label" +msgid "Outer Wall Acceleration" +msgstr "Outer Wall Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_0 description" +msgid "The acceleration with which the outermost walls are printed." +msgstr "最も外側の壁をプリントする際の加速度" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_x label" +msgid "Inner Wall Acceleration" +msgstr "Inner Wall Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_x description" +msgid "The acceleration with which all inner walls are printed." +msgstr "内側のウォールがが出力される際のスピード。" + +#: fdmprinter.def.json +msgctxt "acceleration_topbottom label" +msgid "Top/Bottom Acceleration" +msgstr "Top/Bottom Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_topbottom description" +msgid "The acceleration with which top/bottom layers are printed." +msgstr "トップとボトムのレイヤーの印刷加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_support label" +msgid "Support Acceleration" +msgstr "Support Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_support description" +msgid "The acceleration with which the support structure is printed." +msgstr "サポート材プリント時の加速スピード" + +#: fdmprinter.def.json +msgctxt "acceleration_support_infill label" +msgid "Support Infill Acceleration" +msgstr "Support Infill Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_support_infill description" +msgid "The acceleration with which the infill of support is printed." +msgstr "インフィルのサポート材のプリント時の加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_support_interface label" +msgid "Support Interface Acceleration" +msgstr "Support Interface Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_support_interface description" +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "サポートの上面と下面が印刷される加速度。低加速度で印刷するとオーバーハングの品質が向上します" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "サポートの上面がプリントされる加速度、低加速度で印刷するとオーバーハングの品質が向上します。" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "サポートのフロアが印刷される加速度。より低い加速度で印刷すると、モデル上のサポートの接着性を向上させることができます。" + +#: fdmprinter.def.json +msgctxt "acceleration_prime_tower label" +msgid "Prime Tower Acceleration" +msgstr "Prime Tower Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_prime_tower description" +msgid "The acceleration with which the prime tower is printed." +msgstr "プライムタワーの印刷時のスピード。" + +#: fdmprinter.def.json +msgctxt "acceleration_travel label" +msgid "Travel Acceleration" +msgstr "Travel Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_travel description" +msgid "The acceleration with which travel moves are made." +msgstr "移動中の加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_layer_0 label" +msgid "Initial Layer Acceleration" +msgstr "Initial Layer Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_layer_0 description" +msgid "The acceleration for the initial layer." +msgstr "初期レイヤーの加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_print_layer_0 label" +msgid "Initial Layer Print Acceleration" +msgstr "Initial Layer Print Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_print_layer_0 description" +msgid "The acceleration during the printing of the initial layer." +msgstr "初期レイヤーの印刷中の加速度。" + +#: fdmprinter.def.json +msgctxt "acceleration_travel_layer_0 label" +msgid "Initial Layer Travel Acceleration" +msgstr "Initial Layer Travel Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_travel_layer_0 description" +msgid "The acceleration for travel moves in the initial layer." +msgstr "最初のレイヤー時の加速度" + +#: fdmprinter.def.json +msgctxt "acceleration_skirt_brim label" +msgid "Skirt/Brim Acceleration" +msgstr "Skirt/Brim Acceleration" + +#: fdmprinter.def.json +msgctxt "acceleration_skirt_brim description" +msgid "The acceleration with which the skirt and brim are printed. Normally this is done with the initial layer acceleration, but sometimes you might want to print the skirt or brim at a different acceleration." +msgstr "スカートとブリム印刷時の加速度。通常、初期レイヤーの印刷スピードにて適用されるが、異なる速度でスカートやブリムを印刷したい場合使用できる。" + +#: fdmprinter.def.json +msgctxt "jerk_enabled label" +msgid "Enable Jerk Control" +msgstr "Enable Jerk Control" + +#: fdmprinter.def.json +msgctxt "jerk_enabled description" +msgid "Enables adjusting the jerk of print head when the velocity in the X or Y axis changes. Increasing the jerk can reduce printing time at the cost of print quality." +msgstr "X または Y 軸の速度が変更する際、プリントヘッドのジャークを調整することができます。ジャークを増やすことは、印刷時間を短縮できますがプリントの質を損ねます。" + +#: fdmprinter.def.json +msgctxt "jerk_print label" +msgid "Print Jerk" +msgstr "Print Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_print description" +msgid "The maximum instantaneous velocity change of the print head." +msgstr "プリントヘッドの最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_infill label" +msgid "Infill Jerk" +msgstr "Infill Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_infill description" +msgid "The maximum instantaneous velocity change with which infill is printed." +msgstr "インフィルの印刷時の瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_wall label" +msgid "Wall Jerk" +msgstr "Wall Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_wall description" +msgid "The maximum instantaneous velocity change with which the walls are printed." +msgstr "ウォールのプリント時の最大瞬間速度を変更。" + +#: fdmprinter.def.json +msgctxt "jerk_wall_0 label" +msgid "Outer Wall Jerk" +msgstr "Outer Wall Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_wall_0 description" +msgid "The maximum instantaneous velocity change with which the outermost walls are printed." +msgstr "外側のウォールが出力される際の最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_wall_x label" +msgid "Inner Wall Jerk" +msgstr "Inner Wall Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_wall_x description" +msgid "The maximum instantaneous velocity change with which all inner walls are printed." +msgstr "内側のウォールがプリントされれう際の最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_topbottom label" +msgid "Top/Bottom Jerk" +msgstr "Top/Bottom Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_topbottom description" +msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." +msgstr "トップとボトムのレイヤーを印刷する際の最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_support label" +msgid "Support Jerk" +msgstr "Support Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_support description" +msgid "The maximum instantaneous velocity change with which the support structure is printed." +msgstr "サポート材の印刷時の最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_support_infill label" +msgid "Support Infill Jerk" +msgstr "Support Infill Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_support_infill description" +msgid "The maximum instantaneous velocity change with which the infill of support is printed." +msgstr "サポート材の印刷時、最大瞬間速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_support_interface label" +msgid "Support Interface Jerk" +msgstr "Support Interface Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_support_interface description" +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "どのルーフとフロアのサポート部分を印刷するかによって最大瞬間速度は変化します。" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "どのサポートのルーフ部分を印刷するかによって最大瞬間速度は変化します。" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "どのサポートのフロア部分を印刷するかによって最大瞬間速度は変化します。" + +#: fdmprinter.def.json +msgctxt "jerk_prime_tower label" +msgid "Prime Tower Jerk" +msgstr "Prime Tower Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_prime_tower description" +msgid "The maximum instantaneous velocity change with which the prime tower is printed." +msgstr "プライムタワーがプリントされる際の最大瞬間速度を変更します。" + +#: fdmprinter.def.json +msgctxt "jerk_travel label" +msgid "Travel Jerk" +msgstr "Travel Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_travel description" +msgid "The maximum instantaneous velocity change with which travel moves are made." +msgstr "移動する際の最大瞬時速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_layer_0 label" +msgid "Initial Layer Jerk" +msgstr "Initial Layer Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_layer_0 description" +msgid "The print maximum instantaneous velocity change for the initial layer." +msgstr "初期レイヤーの最大瞬時速度の変更。" + +#: fdmprinter.def.json +msgctxt "jerk_print_layer_0 label" +msgid "Initial Layer Print Jerk" +msgstr "Initial Layer Print Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_print_layer_0 description" +msgid "The maximum instantaneous velocity change during the printing of the initial layer." +msgstr "初期レイヤー印刷中の最大瞬時速度の変化。" + +#: fdmprinter.def.json +msgctxt "jerk_travel_layer_0 label" +msgid "Initial Layer Travel Jerk" +msgstr "Initial Layer Travel Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_travel_layer_0 description" +msgid "The acceleration for travel moves in the initial layer." +msgstr "移動加速度は最初のレイヤーに適用されます。" + +#: fdmprinter.def.json +msgctxt "jerk_skirt_brim label" +msgid "Skirt/Brim Jerk" +msgstr "Skirt/Brim Jerk" + +#: fdmprinter.def.json +msgctxt "jerk_skirt_brim description" +msgid "The maximum instantaneous velocity change with which the skirt and brim are printed." +msgstr "スカートとブリムがプリントされる最大瞬時速度の変更。" + +#: fdmprinter.def.json +msgctxt "travel label" +msgid "Travel" +msgstr "Travel" + +#: fdmprinter.def.json +msgctxt "travel description" +msgid "travel" +msgstr "移動" + +#: fdmprinter.def.json +msgctxt "retraction_combing label" +msgid "Combing Mode" +msgstr "Combing Mode" + +#: fdmprinter.def.json +msgctxt "retraction_combing description" +msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only." +msgstr "コーミングは、走行時にすでに印刷された領域内にノズルを保ちます。その結果、移動距離はわずかに長くなりますが、引き込みの必要性は減ります。コーミングがオフの場合、フィラメントの引き戻しを行い、ノズルは次のポイントまで直線移動します。また、インフィルのみにてコーミングすることにより、トップとボトムのスキン領域上での櫛通りを回避します。" + +#: fdmprinter.def.json +msgctxt "retraction_combing option off" +msgid "Off" +msgstr "Off" + +#: fdmprinter.def.json +msgctxt "retraction_combing option all" +msgid "All" +msgstr "All" + +#: fdmprinter.def.json +msgctxt "retraction_combing option noskin" +msgid "No Skin" +msgstr "No Skin" + +#: fdmprinter.def.json +msgctxt "travel_retract_before_outer_wall label" +msgid "Retract Before Outer Wall" +msgstr "Retract Before Outer Wall" + +#: fdmprinter.def.json +msgctxt "travel_retract_before_outer_wall description" +msgid "Always retract when moving to start an outer wall." +msgstr "移動して外側のウォールをプリントする際、毎回引き戻しをします。" + +#: fdmprinter.def.json +msgctxt "travel_avoid_other_parts label" +msgid "Avoid Printed Parts When Traveling" +msgstr "Avoid Printed Parts When Traveling" + +#: fdmprinter.def.json +msgctxt "travel_avoid_other_parts description" +msgid "The nozzle avoids already printed parts when traveling. This option is only available when combing is enabled." +msgstr "ノズルは、移動時に既に印刷されたパーツを避けます。このオプションは、コーミングが有効な場合にのみ使用できます。" + +#: fdmprinter.def.json +msgctxt "travel_avoid_distance label" +msgid "Travel Avoid Distance" +msgstr "Travel Avoid Distance" + +#: fdmprinter.def.json +msgctxt "travel_avoid_distance description" +msgid "The distance between the nozzle and already printed parts when avoiding during travel moves." +msgstr "ノズルが既に印刷された部分を移動する際の間隔" + +#: fdmprinter.def.json +msgctxt "start_layers_at_same_position label" +msgid "Start Layers with the Same Part" +msgstr "Start Layers with the Same Part" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "start_layers_at_same_position description" +msgid "In each layer start with printing the object near the same point, so that we don't start a new layer with printing the piece which the previous layer ended with. This makes for better overhangs and small parts, but increases printing time." +msgstr "各レイヤーの印刷は決まった場所近い距離のポイントにて印刷を始めます。そのため、前のレイヤーが終わった部分から新しいレイヤーのプリントを開始しません。これによりオーバーハングや小さなパーツの印刷改善されますが、その代わり印刷時間が長くなります。" + +#: fdmprinter.def.json +msgctxt "layer_start_x label" +msgid "Layer Start X" +msgstr "Layer Start X" + +#: fdmprinter.def.json +msgctxt "layer_start_x description" +msgid "The X coordinate of the position near where to find the part to start printing each layer." +msgstr "各レイヤーのプリントを開始する部分をしめすX座標。" + +#: fdmprinter.def.json +msgctxt "layer_start_y label" +msgid "Layer Start Y" +msgstr "Layer Start Y" + +#: fdmprinter.def.json +msgctxt "layer_start_y description" +msgid "The Y coordinate of the position near where to find the part to start printing each layer." +msgstr "各レイヤーのプリントを開始する部分をしめすY座標。" + +#: fdmprinter.def.json +msgctxt "retraction_hop_enabled label" +msgid "Z Hop When Retracted" +msgstr "Z Hop When Retracted" + +#: fdmprinter.def.json +msgctxt "retraction_hop_enabled description" +msgid "Whenever a retraction is done, the build plate is lowered to create clearance between the nozzle and the print. It prevents the nozzle from hitting the print during travel moves, reducing the chance to knock the print from the build plate." +msgstr "引き戻しが完了すると、ビルドプレートが下降してノズルとプリントの間に隙間ができます。ノズルの走行中に造形物に当たるのを防ぎ、造形物をビルドプレートから剥がしてしまう現象を減らします。" + +#: fdmprinter.def.json +msgctxt "retraction_hop_only_when_collides label" +msgid "Z Hop Only Over Printed Parts" +msgstr "Z Hop Only Over Printed Parts" + +#: fdmprinter.def.json +msgctxt "retraction_hop_only_when_collides description" +msgid "Only perform a Z Hop when moving over printed parts which cannot be avoided by horizontal motion by Avoid Printed Parts when Traveling." +msgstr "走行時に印刷部品への衝突を避けるため、水平移動で回避できない造形物上を移動するときは、Zホップを実行します。" + +#: fdmprinter.def.json +msgctxt "retraction_hop label" +msgid "Z Hop Height" +msgstr "Z Hop Height" + +#: fdmprinter.def.json +msgctxt "retraction_hop description" +msgid "The height difference when performing a Z Hop." +msgstr "Zホップを実行するときの高さ。" + +#: fdmprinter.def.json +msgctxt "retraction_hop_after_extruder_switch label" +msgid "Z Hop After Extruder Switch" +msgstr "Z Hop After Extruder Switch" + +#: fdmprinter.def.json +msgctxt "retraction_hop_after_extruder_switch description" +msgid "After the machine switched from one extruder to the other, the build plate is lowered to create clearance between the nozzle and the print. This prevents the nozzle from leaving oozed material on the outside of a print." +msgstr "マシーンが1つのエクストルーダーからもう一つのエクストルーダーに切り替えられた際、ビルドプレートが下降して、ノズルと印刷物との間に隙間が形成される。これによりノズルが造形物の外側にはみ出たマテリアルを残さないためである。" + +#: fdmprinter.def.json +msgctxt "cooling label" +msgid "Cooling" +msgstr "Cooling" + +#: fdmprinter.def.json +msgctxt "cooling description" +msgid "Cooling" +msgstr "冷却" + +#: fdmprinter.def.json +msgctxt "cool_fan_enabled label" +msgid "Enable Print Cooling" +msgstr "Enable Print Cooling" + +#: fdmprinter.def.json +msgctxt "cool_fan_enabled description" +msgid "Enables the print cooling fans while printing. The fans improve print quality on layers with short layer times and bridging / overhangs." +msgstr "印刷中の冷却ファンを有効にします。ファンは、短いレイヤープリントやブリッジ/オーバーハングのレイヤーがある印刷物の品質を向上させます。" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed label" +msgid "Fan Speed" +msgstr "Fan Speed" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed description" +msgid "The speed at which the print cooling fans spin." +msgstr "冷却ファンが回転する速度。" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_min label" +msgid "Regular Fan Speed" +msgstr "Regular Fan Speed" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "cool_fan_speed_min description" +msgid "The speed at which the fans spin before hitting the threshold. When a layer prints faster than the threshold, the fan speed gradually inclines towards the maximum fan speed." +msgstr "しきい値に達する前のファンの回転スピード。プリント速度がしきい値より速くなると、ファンの速度は上がっていきます。" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_max label" +msgid "Maximum Fan Speed" +msgstr "Maximum Fan Speed" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_max description" +msgid "The speed at which the fans spin on the minimum layer time. The fan speed gradually increases between the regular fan speed and maximum fan speed when the threshold is hit." +msgstr "最小積層時間でファンが回転する速度。しきい値に達すると、通常のファンの速度と最速の間でファン速度が徐々に加速しはじめます。" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time_fan_speed_max label" +msgid "Regular/Maximum Fan Speed Threshold" +msgstr "Regular/Maximum Fan Speed Threshold" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time_fan_speed_max description" +msgid "The layer time which sets the threshold between regular fan speed and maximum fan speed. Layers that print slower than this time use regular fan speed. For faster layers the fan speed gradually increases towards the maximum fan speed." +msgstr "通常速度と最速の間でしきい値を設定する積層時間。この時間よりも遅く印刷する積層は、通常速度を使用します。より速い層の場合、ファンは最高速度に向かって徐々に加速します。" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_0 label" +msgid "Initial Fan Speed" +msgstr "Initial Fan Speed" + +#: fdmprinter.def.json +#, fuzzy +msgctxt "cool_fan_speed_0 description" +msgid "The speed at which the fans spin at the start of the print. In subsequent layers the fan speed is gradually increased up to the layer corresponding to Regular Fan Speed at Height." +msgstr "プリント開始時にファンが回転する速度。後続のレイヤーでは、ファン速度は、高さに応じて早くなります。" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_at_height label" +msgid "Regular Fan Speed at Height" +msgstr "Regular Fan Speed at Height" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_at_height description" +msgid "The height at which the fans spin on regular fan speed. At the layers below the fan speed gradually increases from Initial Fan Speed to Regular Fan Speed." +msgstr "通常速度でファンが回転するときの高さ。ここより下層レイヤーでは初期ファンのスピードから通常の速度まで徐々に増加します。" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_layer label" +msgid "Regular Fan Speed at Layer" +msgstr "Regular Fan Speed at Layer" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_layer description" +msgid "The layer at which the fans spin on regular fan speed. If regular fan speed at height is set, this value is calculated and rounded to a whole number." +msgstr "ファンが通常の速度で回転する時のレイヤー。通常速度のファンの高さが設定されている場合、この値が計算され、整数に変換されます。" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time label" +msgid "Minimum Layer Time" +msgstr "Minimum Layer Time" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time description" +msgid "The minimum time spent in a layer. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer. Layers may still take shorter than the minimal layer time if Lift Head is disabled and if the Minimum Speed would otherwise be violated." +msgstr "一つのレイヤーに最低限費やす時間。1つの層に必ず設定された時間を費やすため、場合によってはプリントに遅れが生じます。しかしこれにより、次の層をプリントする前に造形物を適切に冷却することができます。 Lift Headが無効になっていて、最小速度を下回った場合、最小レイヤー時間よりも短くなる場合があります。" + +#: fdmprinter.def.json +msgctxt "cool_min_speed label" +msgid "Minimum Speed" +msgstr "Minimum Speed" + +#: fdmprinter.def.json +msgctxt "cool_min_speed description" +msgid "The minimum print speed, despite slowing down due to the minimum layer time. When the printer would slow down too much, the pressure in the nozzle would be too low and result in bad print quality." +msgstr "最遅印刷速度。印刷の速度が遅すぎると、ノズル内の圧力が低すぎて印刷品質が低下します。" + +#: fdmprinter.def.json +msgctxt "cool_lift_head label" +msgid "Lift Head" +msgstr "Lift Head" + +#: fdmprinter.def.json +msgctxt "cool_lift_head description" +msgid "When the minimum speed is hit because of minimum layer time, lift the head away from the print and wait the extra time until the minimum layer time is reached." +msgstr "レイヤーの最小プリント時間より早く印刷が終わった場合、ヘッド部分を持ち上げてレイヤーの最小プリント時間に到達するまで待機します" + +#: fdmprinter.def.json +msgctxt "support label" +msgid "Support" +msgstr "Support" + +#: fdmprinter.def.json +msgctxt "support description" +msgid "Support" +msgstr "サポート" + +#: fdmprinter.def.json +msgctxt "support_enable label" +msgid "Generate Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_enable description" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "オーバーハングするモデルのサポートパーツの構造を形成します。これらのサポートがなければ、印刷は失敗します。" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr label" +msgid "Support Extruder" +msgstr "Support Extruder" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr description" +msgid "The extruder train to use for printing the support. This is used in multi-extrusion." +msgstr "サポート材を印刷するためのエクストルーダー。複数のエクストルーダーがある場合に使用されます。" + +#: fdmprinter.def.json +msgctxt "support_infill_extruder_nr label" +msgid "Support Infill Extruder" +msgstr "Support Infill Extruder" + +#: fdmprinter.def.json +msgctxt "support_infill_extruder_nr description" +msgid "The extruder train to use for printing the infill of the support. This is used in multi-extrusion." +msgstr "サポート材のインフィルを印刷に使用するためのエクストルーダー。複数のエクストルーダーがある場合に使用されます。" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr_layer_0 label" +msgid "First Layer Support Extruder" +msgstr "First Layer Support Extruder" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr_layer_0 description" +msgid "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion." +msgstr "サポートのインフィルの最初の層を印刷に使用するエクストルーダー。複数のエクストルーダーがある場合に使用されます。" + +#: fdmprinter.def.json +msgctxt "support_interface_extruder_nr label" +msgid "Support Interface Extruder" +msgstr "Support Interface Extruder" + +#: fdmprinter.def.json +msgctxt "support_interface_extruder_nr description" +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "サポートのルーフおよび底面を印刷するために使用するエクストルーダーの列。デュアルノズル時に使用されます。" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "サポートのルーフ面をプリントする際のエクストルーダー列。デュアルノズル時に使用します。" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "サポートのフロア面をプリントする際に使用するエクストルーダーの列。デュアルノズル時に使用します。" + +#: fdmprinter.def.json +msgctxt "support_type label" +msgid "Support Placement" +msgstr "Support Placement" + +#: fdmprinter.def.json +msgctxt "support_type description" +msgid "Adjusts the placement of the support structures. The placement can be set to touching build plate or everywhere. When set to everywhere the support structures will also be printed on the model." +msgstr "サポート材の配置を調整します。配置はTouching BuildplateまたはEveryWhereに設定することができます。EveryWhereに設定した場合、サポート材がモデルの上にもプリントされます。" + +#: fdmprinter.def.json +msgctxt "support_type option buildplate" +msgid "Touching Buildplate" +msgstr "Touching Buildplate" + +#: fdmprinter.def.json +msgctxt "support_type option everywhere" +msgid "Everywhere" +msgstr "Everywhere" + +#: fdmprinter.def.json +msgctxt "support_angle label" +msgid "Support Overhang Angle" +msgstr "Support Overhang Angle" + +#: fdmprinter.def.json +msgctxt "support_angle description" +msgid "The minimum angle of overhangs for which support is added. At a value of 0° all overhangs are supported, 90° will not provide any support." +msgstr "サポート材がつくオーバーハングの最小角度。0° のときはすべてのオーバーハングにサポートが生成され、90° ではサポートが生成されません。" + +#: fdmprinter.def.json +msgctxt "support_pattern label" +msgid "Support Pattern" +msgstr "Support Pattern" + +#: fdmprinter.def.json +msgctxt "support_pattern description" +msgid "The pattern of the support structures of the print. The different options available result in sturdy or easy to remove support." +msgstr "サポート材の形。サポート材の除去の方法を頑丈または容易にする設定が可能です。" + +#: fdmprinter.def.json +msgctxt "support_pattern option lines" +msgid "Lines" +msgstr "Lines" + +#: fdmprinter.def.json +msgctxt "support_pattern option grid" +msgid "Grid" +msgstr "Grid" + +#: fdmprinter.def.json +msgctxt "support_pattern option triangles" +msgid "Triangles" +msgstr "Triangles" + +#: fdmprinter.def.json +msgctxt "support_pattern option concentric" +msgid "Concentric" +msgstr "Concentric" + +#: fdmprinter.def.json +msgctxt "support_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentric 3D" + +#: fdmprinter.def.json +msgctxt "support_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "support_connect_zigzags label" +msgid "Connect Support ZigZags" +msgstr "Connect Support ZigZags" + +#: fdmprinter.def.json +msgctxt "support_connect_zigzags description" +msgid "Connect the ZigZags. This will increase the strength of the zig zag support structure." +msgstr "ジグザグを接続します。ジグザグ形のサポート材の強度が上がります。" + +#: fdmprinter.def.json +msgctxt "support_infill_rate label" +msgid "Support Density" +msgstr "Support Density" + +#: fdmprinter.def.json +msgctxt "support_infill_rate description" +msgid "Adjusts the density of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "サポート材の密度を調整します。大きな値ではオーバーハングが良くなりますが、サポート材が除去しにくくなります。" + +#: fdmprinter.def.json +msgctxt "support_line_distance label" +msgid "Support Line Distance" +msgstr "Support Line Distance" + +#: fdmprinter.def.json +msgctxt "support_line_distance description" +msgid "Distance between the printed support structure lines. This setting is calculated by the support density." +msgstr "印刷されたサポート材の間隔。この設定は、サポート材の密度によって算出されます。" + +#: fdmprinter.def.json +msgctxt "support_z_distance label" +msgid "Support Z Distance" +msgstr "Support Z Distance" + +#: fdmprinter.def.json +msgctxt "support_z_distance description" +msgid "Distance from the top/bottom of the support structure to the print. This gap provides clearance to remove the supports after the model is printed. This value is rounded up to a multiple of the layer height." +msgstr "サポート材のトップ/ボトム部分と印刷物との距離。この幅がプリント後のサポート材を除去する隙間を作ります。値は積層ピッチの倍数にて計算されます。" + +#: fdmprinter.def.json +msgctxt "support_top_distance label" +msgid "Support Top Distance" +msgstr "Support Top Distance" + +#: fdmprinter.def.json +msgctxt "support_top_distance description" +msgid "Distance from the top of the support to the print." +msgstr "サポートの上部から印刷物までの距離。" + +#: fdmprinter.def.json +msgctxt "support_bottom_distance label" +msgid "Support Bottom Distance" +msgstr "Support Bottom Distance" + +#: fdmprinter.def.json +msgctxt "support_bottom_distance description" +msgid "Distance from the print to the bottom of the support." +msgstr "印刷物とサポート材底部までの距離。" + +#: fdmprinter.def.json +msgctxt "support_xy_distance label" +msgid "Support X/Y Distance" +msgstr "Support X/Y Distance" + +#: fdmprinter.def.json +msgctxt "support_xy_distance description" +msgid "Distance of the support structure from the print in the X/Y directions." +msgstr "印刷物からX/Y方向へのサポート材との距離" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z label" +msgid "Support Distance Priority" +msgstr "Support Distance Priority" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z description" +msgid "Whether the Support X/Y Distance overrides the Support Z Distance or vice versa. When X/Y overrides Z the X/Y distance can push away the support from the model, influencing the actual Z distance to the overhang. We can disable this by not applying the X/Y distance around overhangs." +msgstr "X /Y方向のサポートの距離がZ方向のサポートの距離を上書きしようとする時やまたその逆も同様。X または Y がZを上書きする際、X Y 方向の距離は印刷物からオーバーハングする Z 方向の距離に影響を及ぼしながらサポートを押しのけようとします。オーバー ハング周りのX Yの距離を無効にすることで、無効にできる。" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z option xy_overrides_z" +msgid "X/Y overrides Z" +msgstr "X/Y overrides Z" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z option z_overrides_xy" +msgid "Z overrides X/Y" +msgstr "Z overrides X/Y" + +#: fdmprinter.def.json +msgctxt "support_xy_distance_overhang label" +msgid "Minimum Support X/Y Distance" +msgstr "Minimum Support X/Y Distance" + +#: fdmprinter.def.json +msgctxt "support_xy_distance_overhang description" +msgid "Distance of the support structure from the overhang in the X/Y directions. " +msgstr "X/Y方向におけるオーバーハングからサポートまでの距離" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_height label" +msgid "Support Stair Step Height" +msgstr "Support Stair Step Height" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_height description" +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "モデルにのっている階段状のサポートの底のステップの高さ。値を小さくするとサポートを除去するのが困難になりますが、値が大きすぎるとサポートの構造が不安定になる可能性があります。ゼロに設定すると、階段状の動作をオフにします。" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "モデルにのっている階段のような下部のサポートのステップの最大幅。低い値にするサポートの除去が困難になり、高すぎる値は不安定なサポート構造につながります。" + +#: fdmprinter.def.json +msgctxt "support_join_distance label" +msgid "Support Join Distance" +msgstr "Support Join Distance" + +#: fdmprinter.def.json +msgctxt "support_join_distance description" +msgid "The maximum distance between support structures in the X/Y directions. When seperate structures are closer together than this value, the structures merge into one." +msgstr "X/Y方向のサポート構造間の最大距離。別の構造がこの値より近づいた場合、構造は 1 つにマージします。" + +#: fdmprinter.def.json +msgctxt "support_offset label" +msgid "Support Horizontal Expansion" +msgstr "Support Horizontal Expansion" + +#: fdmprinter.def.json +msgctxt "support_offset description" +msgid "Amount of offset applied to all support polygons in each layer. Positive values can smooth out the support areas and result in more sturdy support." +msgstr "各レイヤーのサポート用ポリゴンに適用されるオフセットの量。正の値はサポート領域を円滑にし、より丈夫なサポートにつながります。" + +#: fdmprinter.def.json +msgctxt "support_interface_enable label" +msgid "Enable Support Interface" +msgstr "Enable Support Interface" + +#: fdmprinter.def.json +msgctxt "support_interface_enable description" +msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." +msgstr "モデルとサポートの間に密なインターフェースを生成します。これにより、モデルが印刷されているサポートの上部、モデル上のサポートの下部にスキンが作成されます。" + +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "サポートの上部とモデルの間に高密度の厚板を形成します。モデルとサポート材の間にスキンが作成されます。" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "サポートの上部とモデルの間に高密度の厚板を形成します。モデルとサポート材の間にスキンが作成されます。" + +#: fdmprinter.def.json +msgctxt "support_interface_height label" +msgid "Support Interface Thickness" +msgstr "Support Interface Thickness" + +#: fdmprinter.def.json +msgctxt "support_interface_height description" +msgid "The thickness of the interface of the support where it touches with the model on the bottom or the top." +msgstr "底面または上部のモデルと接触するサポートのインターフェイスの厚さ。" + +#: fdmprinter.def.json +msgctxt "support_roof_height label" +msgid "Support Roof Thickness" +msgstr "Support Roof Thickness" + +#: fdmprinter.def.json +msgctxt "support_roof_height description" +msgid "The thickness of the support roofs. This controls the amount of dense layers at the top of the support on which the model rests." +msgstr "サポートのルーフの厚さ。これは、モデルの下につくサポートの上部にある密度の量を制御します。" + +#: fdmprinter.def.json +msgctxt "support_bottom_height label" +msgid "Support Floor Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_height description" +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "サポート材の底部の厚さ。これは、サポートが置かれるモデル上の積層密度を制御します。" + +#: fdmprinter.def.json +msgctxt "support_interface_skip_height label" +msgid "Support Interface Resolution" +msgstr "Support Interface Resolution" + +#: fdmprinter.def.json +msgctxt "support_interface_skip_height description" +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "サポートの上下にモデルがあるかどうか確認するには、特定のサポートの高さを見ます。低い値はスライスに時間がかかり、高い値にするとサポートのインターフェイスがある場所に通常のサポートを印刷する可能性があります。" + +#: fdmprinter.def.json +msgctxt "support_interface_density label" +msgid "Support Interface Density" +msgstr "Support Interface Density" + +#: fdmprinter.def.json +msgctxt "support_interface_density description" +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "サポート材のルーフとフロアの密度を調整します 大きな値ではオーバーハングでの成功率があがりますが、サポート材が除去しにくくなります" + +#: fdmprinter.def.json +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "サポート材のルーフの部分の密度を調整します 大きな値ではオーバーハングの成功率があがりますが、サポート材が除去しにくくなります。" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "印刷されたサポートルーフ線間の距離。この設定は、サポート密度によって計算されますが、個別に調整することもできます。" + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "サポート構造のフロアの密度です。高い値は、サポートのよりよい接着を促します。" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "印刷されたサポートのフロアのライン間の距離。この設定は、密度によって計算されますが、個別に調整することもできます。" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern label" +msgid "Support Interface Pattern" +msgstr "Support Interface Pattern" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern description" +msgid "The pattern with which the interface of the support with the model is printed." +msgstr "モデルとサポートのインタフェースが印刷されるパターン。" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option lines" +msgid "Lines" +msgstr "Lines" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option grid" +msgid "Grid" +msgstr "Grid" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option triangles" +msgid "Triangles" +msgstr "Triangles" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option concentric" +msgid "Concentric" +msgstr "Concentric" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentric 3D" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zig Zag" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "サポートのルーフが印刷されるパターン" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "サポートのフロアが印刷されるパターン。" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_use_towers label" +msgid "Use Towers" +msgstr "Use Towers" + +#: fdmprinter.def.json +msgctxt "support_use_towers description" +msgid "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof." +msgstr "特殊なタワーを使用して、小さなオーバーハングしているエリアをサポートします。これらの塔は、サポートできる領域より大きな直径を支えれます。オーバーハング付近では塔の直径が減少し、ルーフを形成します。" + +#: fdmprinter.def.json +msgctxt "support_tower_diameter label" +msgid "Tower Diameter" +msgstr "Tower Diameter" + +#: fdmprinter.def.json +msgctxt "support_tower_diameter description" +msgid "The diameter of a special tower." +msgstr "特別な塔の直径。" + +#: fdmprinter.def.json +msgctxt "support_minimal_diameter label" +msgid "Minimum Diameter" +msgstr "Minimum Diameter" + +#: fdmprinter.def.json +msgctxt "support_minimal_diameter description" +msgid "Minimum diameter in the X/Y directions of a small area which is to be supported by a specialized support tower." +msgstr "特殊なサポート塔によって支持される小さな領域のX / Y方向の最小直径。" + +#: fdmprinter.def.json +msgctxt "support_tower_roof_angle label" +msgid "Tower Roof Angle" +msgstr "Tower Roof Angle" + +#: fdmprinter.def.json +msgctxt "support_tower_roof_angle description" +msgid "The angle of a rooftop of a tower. A higher value results in pointed tower roofs, a lower value results in flattened tower roofs." +msgstr "タワーの屋上の角度。値が高いほど尖った屋根が得られ、値が低いほど屋根が平らになります。" + +#: fdmprinter.def.json +msgctxt "platform_adhesion label" +msgid "Build Plate Adhesion" +msgstr "Build Plate Adhesion" + +#: fdmprinter.def.json +msgctxt "platform_adhesion description" +msgid "Adhesion" +msgstr "密着性" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "印刷する前にフィラメントの小さな塊を作るかどうか。この設定をオンにすると、エクストルーダーがノズルにおいて印刷予定のマテリアルの下準備をします。印刷後ブリムまたはスカートも、上記と同じような意味を持ちます。この設定をオフにすると時間の節約にはなります。" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_x label" +msgid "Extruder Prime X Position" +msgstr "Extruder Prime X Position" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_x description" +msgid "The X coordinate of the position where the nozzle primes at the start of printing." +msgstr "プリント開始時のノズルの位置を表すX座標。" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_y label" +msgid "Extruder Prime Y Position" +msgstr "Extruder Prime Y Position" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_y description" +msgid "The Y coordinate of the position where the nozzle primes at the start of printing." +msgstr "プリント開始時にノズル位置を表すY座標。" + +#: fdmprinter.def.json +msgctxt "adhesion_type label" +msgid "Build Plate Adhesion Type" +msgstr "Build Plate Adhesion Type" + +#: fdmprinter.def.json +msgctxt "adhesion_type description" +msgid "Different options that help to improve both priming your extrusion and adhesion to the build plate. Brim adds a single layer flat area around the base of your model to prevent warping. Raft adds a thick grid with a roof below the model. Skirt is a line printed around the model, but not connected to the model." +msgstr "エクストルーダーとビルドプレートへの接着両方を改善するのに役立つさまざまなオプション。 Brimは、モデルのベースの周りに単一レイヤーを平面的に追加して、ワーピングを防止します。 Raftは、モデルの下に太いグリッドを追加します。スカートはモデルの周りに印刷されたラインですが、モデルには接続されていません。" + +#: fdmprinter.def.json +msgctxt "adhesion_type option skirt" +msgid "Skirt" +msgstr "Skirt" + +#: fdmprinter.def.json +msgctxt "adhesion_type option brim" +msgid "Brim" +msgstr "Brim" + +#: fdmprinter.def.json +msgctxt "adhesion_type option raft" +msgid "Raft" +msgstr "Raft" + +#: fdmprinter.def.json +msgctxt "adhesion_type option none" +msgid "None" +msgstr "None" + +#: fdmprinter.def.json +msgctxt "adhesion_extruder_nr label" +msgid "Build Plate Adhesion Extruder" +msgstr "Build Plate Adhesion Extruder" + +#: fdmprinter.def.json +msgctxt "adhesion_extruder_nr description" +msgid "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion." +msgstr "スカート/ブリム/ラフトをプリントする際のエクストルーダー。これはマルチエクストルージョン時に使用されます。" + +#: fdmprinter.def.json +msgctxt "skirt_line_count label" +msgid "Skirt Line Count" +msgstr "Skirt Line Count" + +#: fdmprinter.def.json +msgctxt "skirt_line_count description" +msgid "Multiple skirt lines help to prime your extrusion better for small models. Setting this to 0 will disable the skirt." +msgstr "複数のスカートラインを使用すると、小さなモデル形成時の射出をより良く行うことができます。これを0に設定するとスカートが無効になります。" + +#: fdmprinter.def.json +msgctxt "skirt_gap label" +msgid "Skirt Distance" +msgstr "Skirt Distance" + +#: fdmprinter.def.json +msgctxt "skirt_gap description" +msgid "" +"The horizontal distance between the skirt and the first layer of the print.\n" +"This is the minimum distance, multiple skirt lines will extend outwards from this distance." +msgstr "スカートとプリントの最初のレイヤーの間の水平距離。これが最小距離であり、複数のスカートラインがこの距離から外側に延びている。" + +#: fdmprinter.def.json +msgctxt "skirt_brim_minimal_length label" +msgid "Skirt/Brim Minimum Length" +msgstr "Skirt/Brim Minimum Length" + +#: fdmprinter.def.json +msgctxt "skirt_brim_minimal_length description" +msgid "The minimum length of the skirt or brim. If this length is not reached by all skirt or brim lines together, more skirt or brim lines will be added until the minimum length is reached. Note: If the line count is set to 0 this is ignored." +msgstr "スカートまたはブリム最短の長さ。この長さにすべてのスカートまたはブリムが達していない場合は、最小限の長さに達するまで、スカートまたはブリムラインが追加されます。注:行数が0に設定されている場合、これは無視されます。" + +#: fdmprinter.def.json +msgctxt "brim_width label" +msgid "Brim Width" +msgstr "Brim Width" + +#: fdmprinter.def.json +msgctxt "brim_width description" +msgid "The distance from the model to the outermost brim line. A larger brim enhances adhesion to the build plate, but also reduces the effective print area." +msgstr "モデルから最外線のブリムまでの距離。大きなブリムは、ビルドプレートへの接着を高めますが、有効な印刷面積も減少させます。" + +#: fdmprinter.def.json +msgctxt "brim_line_count label" +msgid "Brim Line Count" +msgstr "Brim Line Count" + +#: fdmprinter.def.json +msgctxt "brim_line_count description" +msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." +msgstr "ブリムに使用される線数。ブリムの線数は、ビルドプレートへの接着性を向上させるだけでなく、有効な印刷面積を減少させる。" + +#: fdmprinter.def.json +msgctxt "brim_outside_only label" +msgid "Brim Only on Outside" +msgstr "Brim Only on Outside" + +#: fdmprinter.def.json +msgctxt "brim_outside_only description" +msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." +msgstr "モデルの外側のみにブリムを印刷します。これにより、後で取り除くブリムの量が減少します。またプレートへの接着力はそれほど低下しません。" + +#: fdmprinter.def.json +msgctxt "raft_margin label" +msgid "Raft Extra Margin" +msgstr "Raft Extra Margin" + +#: fdmprinter.def.json +msgctxt "raft_margin description" +msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." +msgstr "ラフトが有効になっている場合、モデルの周りに余分なラフト領域ができます。値を大きくするとより強力なラフトができますが、多くの材料を使用し、造形範囲は少なくなります。" + +#: fdmprinter.def.json +msgctxt "raft_airgap label" +msgid "Raft Air Gap" +msgstr "Raft Air Gap" + +#: fdmprinter.def.json +msgctxt "raft_airgap description" +msgid "The gap between the final raft layer and the first layer of the model. Only the first layer is raised by this amount to lower the bonding between the raft layer and the model. Makes it easier to peel off the raft." +msgstr "モデルの第一層のラフトと最終ラフト層の隙間。この値で第1層のみを上げることで、ラフトとモデルとの間の結合を低下させる。結果ラフトを剥がしやすくします。" + +#: fdmprinter.def.json +msgctxt "layer_0_z_overlap label" +msgid "Initial Layer Z Overlap" +msgstr "Initial Layer Z Overlap" + +#: fdmprinter.def.json +msgctxt "layer_0_z_overlap description" +msgid "Make the first and second layer of the model overlap in the Z direction to compensate for the filament lost in the airgap. All models above the first model layer will be shifted down by this amount." +msgstr "エアギャップ内で失われたフィラメントを補うために、モデルの第1層と第2層をZ方向にオーバーラップさせます。この値によって、最初のモデルレイヤーがシフトダウンされます。" + +#: fdmprinter.def.json +msgctxt "raft_surface_layers label" +msgid "Raft Top Layers" +msgstr "Raft Top Layers" + +#: fdmprinter.def.json +msgctxt "raft_surface_layers description" +msgid "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1." +msgstr "第2ラフト層の上の最上層の数。これらは、モデルが置かれる完全に塗りつぶされた積層です。 2つの層は、1よりも滑らかな上面をもたらす。" + +#: fdmprinter.def.json +msgctxt "raft_surface_thickness label" +msgid "Raft Top Layer Thickness" +msgstr "Raft Top Layer Thickness" + +#: fdmprinter.def.json +msgctxt "raft_surface_thickness description" +msgid "Layer thickness of the top raft layers." +msgstr "トップラフト層の層厚。" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_width label" +msgid "Raft Top Line Width" +msgstr "Raft Top Line Width" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_width description" +msgid "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth." +msgstr "ラフトの上面の線の幅。これらは細い線で、ラフトの頂部が滑らかになります。" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_spacing label" +msgid "Raft Top Spacing" +msgstr "Raft Top Spacing" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_spacing description" +msgid "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid." +msgstr "上のラフト層とラフト線の間の距離。間隔は線の幅と同じにして、サーフェスがソリッドになるようにします。" + +#: fdmprinter.def.json +msgctxt "raft_interface_thickness label" +msgid "Raft Middle Thickness" +msgstr "Raft Middle Thickness" + +#: fdmprinter.def.json +msgctxt "raft_interface_thickness description" +msgid "Layer thickness of the middle raft layer." +msgstr "中間のラフト層の層の厚さ。" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_width label" +msgid "Raft Middle Line Width" +msgstr "Raft Middle Line Width" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_width description" +msgid "Width of the lines in the middle raft layer. Making the second layer extrude more causes the lines to stick to the build plate." +msgstr "中間ラフト層の線の幅。第2層をより押し出すと、ラインがビルドプレートに固着します。" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_spacing label" +msgid "Raft Middle Spacing" +msgstr "Raft Middle Spacing" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_spacing description" +msgid "The distance between the raft lines for the middle raft layer. The spacing of the middle should be quite wide, while being dense enough to support the top raft layers." +msgstr "中間ラフト層とラフト線の間の距離。中央の間隔はかなり広くなければならず、トップラフト層を支えるために十分な密度でなければならない。" + +#: fdmprinter.def.json +msgctxt "raft_base_thickness label" +msgid "Raft Base Thickness" +msgstr "Raft Base Thickness" + +#: fdmprinter.def.json +msgctxt "raft_base_thickness description" +msgid "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate." +msgstr "ベースラフト層の層厚さ。プリンタのビルドプレートにしっかりと固着する厚い層でなければなりません。" + +#: fdmprinter.def.json +msgctxt "raft_base_line_width label" +msgid "Raft Base Line Width" +msgstr "Raft Base Line Width" + +#: fdmprinter.def.json +msgctxt "raft_base_line_width description" +msgid "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion." +msgstr "ベースラフト層の線幅。ビルドプレートの接着のため太い線でなければなりません。" + +#: fdmprinter.def.json +msgctxt "raft_base_line_spacing label" +msgid "Raft Line Spacing" +msgstr "Raft Line Spacing" + +#: fdmprinter.def.json +msgctxt "raft_base_line_spacing description" +msgid "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate." +msgstr "ベースラフト層のラフトライン間の距離。広い間隔は、ブルドプレートからのラフトの除去を容易にする。" + +#: fdmprinter.def.json +msgctxt "raft_speed label" +msgid "Raft Print Speed" +msgstr "Raft Print Speed" + +#: fdmprinter.def.json +msgctxt "raft_speed description" +msgid "The speed at which the raft is printed." +msgstr "ラフトが印刷される速度。" + +#: fdmprinter.def.json +msgctxt "raft_surface_speed label" +msgid "Raft Top Print Speed" +msgstr "Raft Top Print Speed" + +#: fdmprinter.def.json +msgctxt "raft_surface_speed description" +msgid "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines." +msgstr "トップラフト層が印刷される速度。この値はノズルが隣接するサーフェスラインをゆっくりと滑らかにするために、少し遅く印刷する必要があります。" + +#: fdmprinter.def.json +msgctxt "raft_interface_speed label" +msgid "Raft Middle Print Speed" +msgstr "Raft Middle Print Speed" + +#: fdmprinter.def.json +msgctxt "raft_interface_speed description" +msgid "The speed at which the middle raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high." +msgstr "ミドルラフト層が印刷される速度。ノズルから出てくるマテリアルの量がかなり多いので、ゆっくりと印刷されるべきである。" + +#: fdmprinter.def.json +msgctxt "raft_base_speed label" +msgid "Raft Base Print Speed" +msgstr "Raft Base Print Speed" + +#: fdmprinter.def.json +msgctxt "raft_base_speed description" +msgid "The speed at which the base raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high." +msgstr "ベースラフト層が印刷される速度。これは、ノズルから出てくるマテリアルの量がかなり多いので、ゆっくりと印刷されるべきである。" + +#: fdmprinter.def.json +msgctxt "raft_acceleration label" +msgid "Raft Print Acceleration" +msgstr "Raft Print Acceleration" + +#: fdmprinter.def.json +msgctxt "raft_acceleration description" +msgid "The acceleration with which the raft is printed." +msgstr "ラフト印刷時の加速度。" + +#: fdmprinter.def.json +msgctxt "raft_surface_acceleration label" +msgid "Raft Top Print Acceleration" +msgstr "Raft Top Print Acceleration" + +#: fdmprinter.def.json +msgctxt "raft_surface_acceleration description" +msgid "The acceleration with which the top raft layers are printed." +msgstr "ラフトのトップ印刷時の加速度" + +#: fdmprinter.def.json +msgctxt "raft_interface_acceleration label" +msgid "Raft Middle Print Acceleration" +msgstr "Raft Middle Print Acceleration" + +#: fdmprinter.def.json +msgctxt "raft_interface_acceleration description" +msgid "The acceleration with which the middle raft layer is printed." +msgstr "ラフトの中間層印刷時の加速度" + +#: fdmprinter.def.json +msgctxt "raft_base_acceleration label" +msgid "Raft Base Print Acceleration" +msgstr "Raft Base Print Acceleration" + +#: fdmprinter.def.json +msgctxt "raft_base_acceleration description" +msgid "The acceleration with which the base raft layer is printed." +msgstr "ラフトの底面印刷時の加速度" + +#: fdmprinter.def.json +msgctxt "raft_jerk label" +msgid "Raft Print Jerk" +msgstr "Raft Print Jerk" + +#: fdmprinter.def.json +msgctxt "raft_jerk description" +msgid "The jerk with which the raft is printed." +msgstr "ラフトが印刷時のジャーク。" + +#: fdmprinter.def.json +msgctxt "raft_surface_jerk label" +msgid "Raft Top Print Jerk" +msgstr "Raft Top Print Jerk" + +#: fdmprinter.def.json +msgctxt "raft_surface_jerk description" +msgid "The jerk with which the top raft layers are printed." +msgstr "トップラフト層印刷時のジャーク" + +#: fdmprinter.def.json +msgctxt "raft_interface_jerk label" +msgid "Raft Middle Print Jerk" +msgstr "Raft Middle Print Jerk" + +#: fdmprinter.def.json +msgctxt "raft_interface_jerk description" +msgid "The jerk with which the middle raft layer is printed." +msgstr "ミドルラフト層印刷時のジャーク" + +#: fdmprinter.def.json +msgctxt "raft_base_jerk label" +msgid "Raft Base Print Jerk" +msgstr "Raft Base Print Jerk" + +#: fdmprinter.def.json +msgctxt "raft_base_jerk description" +msgid "The jerk with which the base raft layer is printed." +msgstr "ベースラフト層印刷時のジャーク" + +#: fdmprinter.def.json +msgctxt "raft_fan_speed label" +msgid "Raft Fan Speed" +msgstr "Raft Fan Speed" + +#: fdmprinter.def.json +msgctxt "raft_fan_speed description" +msgid "The fan speed for the raft." +msgstr "ラフト印刷時のファンの速度。" + +#: fdmprinter.def.json +msgctxt "raft_surface_fan_speed label" +msgid "Raft Top Fan Speed" +msgstr "Raft Top Fan Speed" + +#: fdmprinter.def.json +msgctxt "raft_surface_fan_speed description" +msgid "The fan speed for the top raft layers." +msgstr "トップラフト印刷時のファンの速度。" + +#: fdmprinter.def.json +msgctxt "raft_interface_fan_speed label" +msgid "Raft Middle Fan Speed" +msgstr "Raft Middle Fan Speed" + +#: fdmprinter.def.json +msgctxt "raft_interface_fan_speed description" +msgid "The fan speed for the middle raft layer." +msgstr "ミドルラフト印刷時のファンの速度。" + +#: fdmprinter.def.json +msgctxt "raft_base_fan_speed label" +msgid "Raft Base Fan Speed" +msgstr "Raft Base Fan Speed" + +#: fdmprinter.def.json +msgctxt "raft_base_fan_speed description" +msgid "The fan speed for the base raft layer." +msgstr "ベースラフト層印刷時のファン速度" + +#: fdmprinter.def.json +msgctxt "dual label" +msgid "Dual Extrusion" +msgstr "Dual Extrusion" + +#: fdmprinter.def.json +msgctxt "dual description" +msgid "Settings used for printing with multiple extruders." +msgstr "デュアルエクストルーダーで印刷するための設定" + +#: fdmprinter.def.json +msgctxt "prime_tower_enable label" +msgid "Enable Prime Tower" +msgstr "Enable Prime Tower" + +#: fdmprinter.def.json +msgctxt "prime_tower_enable description" +msgid "Print a tower next to the print which serves to prime the material after each nozzle switch." +msgstr "印刷物の横にタワーを造形して、ノズル交換後にフィラメントの調整をします" + +#: fdmprinter.def.json +msgctxt "prime_tower_size label" +msgid "Prime Tower Size" +msgstr "Prime Tower Size" + +#: fdmprinter.def.json +msgctxt "prime_tower_size description" +msgid "The width of the prime tower." +msgstr "プライムタワーの幅。" + +#: fdmprinter.def.json +msgctxt "prime_tower_min_volume label" +msgid "Prime Tower Minimum Volume" +msgstr "Prime Tower Minimum Volume" + +#: fdmprinter.def.json +msgctxt "prime_tower_min_volume description" +msgid "The minimum volume for each layer of the prime tower in order to purge enough material." +msgstr "プライムタワーの各層の最小容積" + +#: fdmprinter.def.json +msgctxt "prime_tower_wall_thickness label" +msgid "Prime Tower Thickness" +msgstr "Prime Tower Thickness" + +#: fdmprinter.def.json +msgctxt "prime_tower_wall_thickness description" +msgid "The thickness of the hollow prime tower. A thickness larger than half the Prime Tower Minimum Volume will result in a dense prime tower." +msgstr "中空プライムタワーの厚さ。プライムタワーの半分を超える厚さは、密集したプライムタワーになります。" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_x label" +msgid "Prime Tower X Position" +msgstr "Prime Tower X Position" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_x description" +msgid "The x coordinate of the position of the prime tower." +msgstr "プライムタワーの位置のx座標。" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_y label" +msgid "Prime Tower Y Position" +msgstr "Prime Tower Y Position" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_y description" +msgid "The y coordinate of the position of the prime tower." +msgstr "プライムタワーの位置のy座標。" + +#: fdmprinter.def.json +msgctxt "prime_tower_flow label" +msgid "Prime Tower Flow" +msgstr "Prime Tower Flow" + +#: fdmprinter.def.json +msgctxt "prime_tower_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value." +msgstr "吐出量: マテリアルの吐出量はこの値の乗算で計算されます" + +#: fdmprinter.def.json +msgctxt "prime_tower_wipe_enabled label" +msgid "Wipe Inactive Nozzle on Prime Tower" +msgstr "Wipe Inactive Nozzle on Prime Tower" + +#: fdmprinter.def.json +msgctxt "prime_tower_wipe_enabled description" +msgid "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower." +msgstr "1本のノズルでプライムタワーを印刷した後、もう片方のノズルから滲み出した材料をプライムタワーが拭き取ります。" + +#: fdmprinter.def.json +msgctxt "dual_pre_wipe label" +msgid "Wipe Nozzle After Switch" +msgstr "Wipe Nozzle After Switch" + +#: fdmprinter.def.json +msgctxt "dual_pre_wipe description" +msgid "After switching extruder, wipe the oozed material off of the nozzle on the first thing printed. This performs a safe slow wipe move at a place where the oozed material causes least harm to the surface quality of your print." +msgstr "エクストルーダーを切り替えた後、最初に印刷したものの上にあるノズルから滲み出したマテリアルを拭き取ってください。余分に出たマテリアルがプリントの表面品質に与える影響が最も少ない場所で、ゆっくりと払拭を行います。" + +#: fdmprinter.def.json +msgctxt "ooze_shield_enabled label" +msgid "Enable Ooze Shield" +msgstr "Enable Ooze Shield" + +#: fdmprinter.def.json +msgctxt "ooze_shield_enabled description" +msgid "Enable exterior ooze shield. This will create a shell around the model which is likely to wipe a second nozzle if it's at the same height as the first nozzle." +msgstr "モデルの周りに壁(ooze shield)を作る。これを生成することで、一つ目のノズルの高さと2つ目のノズルが同じ高さであったとき、2つ目のノズルを綺麗にします。" + +#: fdmprinter.def.json +msgctxt "ooze_shield_angle label" +msgid "Ooze Shield Angle" +msgstr "Ooze Shield Angle" + +#: fdmprinter.def.json +msgctxt "ooze_shield_angle description" +msgid "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material." +msgstr "壁(ooze shield)作成時の最大の角度。 0度は垂直であり、90度は水平である。角度を小さくすると、壁が少なくなりますが、より多くの材料が使用されます。" + +#: fdmprinter.def.json +msgctxt "ooze_shield_dist label" +msgid "Ooze Shield Distance" +msgstr "Ooze Shield Distance" + +#: fdmprinter.def.json +msgctxt "ooze_shield_dist description" +msgid "Distance of the ooze shield from the print, in the X/Y directions." +msgstr "壁(ooze shield)の造形物からの距離" + +#: fdmprinter.def.json +msgctxt "meshfix label" +msgid "Mesh Fixes" +msgstr "Mesh Fixes" + +#: fdmprinter.def.json +msgctxt "meshfix description" +msgid "category_fixes" +msgstr "category_fixes" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all label" +msgid "Union Overlapping Volumes" +msgstr "Union Overlapping Volumes" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all description" +msgid "Ignore the internal geometry arising from overlapping volumes within a mesh and print the volumes as one. This may cause unintended internal cavities to disappear." +msgstr "メッシュ内の重なり合うボリュームから生じる内部ジオメトリを無視し、ボリュームを1つとして印刷します。これにより、意図しない内部空洞が消えることがあります。" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all_remove_holes label" +msgid "Remove All Holes" +msgstr "Remove All Holes" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all_remove_holes description" +msgid "Remove the holes in each layer and keep only the outside shape. This will ignore any invisible internal geometry. However, it also ignores layer holes which can be viewed from above or below." +msgstr "各レイヤーの穴を消し、外形のみを保持します。これにより、見えない部分の不要な部分が無視されますが、表面上にある穴も全て造形されなくなります。" + +#: fdmprinter.def.json +msgctxt "meshfix_extensive_stitching label" +msgid "Extensive Stitching" +msgstr "Extensive Stitching" + +#: fdmprinter.def.json +msgctxt "meshfix_extensive_stitching description" +msgid "Extensive stitching tries to stitch up open holes in the mesh by closing the hole with touching polygons. This option can introduce a lot of processing time." +msgstr "強めのスティッチングは、穴をメッシュで塞いでデータを作成します。このオプションは、長い処理時間が必要となります。" + +#: fdmprinter.def.json +msgctxt "meshfix_keep_open_polygons label" +msgid "Keep Disconnected Faces" +msgstr "Keep Disconnected Faces" + +#: fdmprinter.def.json +msgctxt "meshfix_keep_open_polygons description" +msgid "Normally Cura tries to stitch up small holes in the mesh and remove parts of a layer with big holes. Enabling this option keeps those parts which cannot be stitched. This option should be used as a last resort option when everything else fails to produce proper GCode." +msgstr "通常、Curaはメッシュ内の小さな穴をスティッチし、大きな穴のあるレイヤーの部分を削除しようとします。このオプションを有効にすると、スティッチできない部分が保持されます。このオプションは、他のすべてが適切なGCodeを生成できない場合の最後の手段として使用する必要があります。" + +#: fdmprinter.def.json +msgctxt "multiple_mesh_overlap label" +msgid "Merged Meshes Overlap" +msgstr "Merged Meshes Overlap" + +#: fdmprinter.def.json +msgctxt "multiple_mesh_overlap description" +msgid "Make meshes which are touching each other overlap a bit. This makes them bond together better." +msgstr "触れているメッシュを少し重ねてください。これによって、より良い接着をします。" + +#: fdmprinter.def.json +msgctxt "carve_multiple_volumes label" +msgid "Remove Mesh Intersection" +msgstr "Remove Mesh Intersection" + +#: fdmprinter.def.json +msgctxt "carve_multiple_volumes description" +msgid "Remove areas where multiple meshes are overlapping with each other. This may be used if merged dual material objects overlap with each other." +msgstr "複数のメッシュが重なっている領域を削除します。これは、結合された2つのマテリアルのオブジェクトが互いに重なっている場合に使用されます。" + +#: fdmprinter.def.json +msgctxt "alternate_carve_order label" +msgid "Alternate Mesh Removal" +msgstr "Alternate Mesh Removal" + +#: fdmprinter.def.json +msgctxt "alternate_carve_order description" +msgid "Switch to which mesh intersecting volumes will belong with every layer, so that the overlapping meshes become interwoven. Turning this setting off will cause one of the meshes to obtain all of the volume in the overlap, while it is removed from the other meshes." +msgstr "交差するメッシュがどのレイヤーに属しているかを切り替えることで、オーバーラップしているメッシュを絡み合うようにします。この設定をオフにすると、一方のメッシュはオーバーラップ内のすべてのボリュームを取得し、他方のメッシュは他から削除されます。" + +#: fdmprinter.def.json +msgctxt "blackmagic label" +msgid "Special Modes" +msgstr "Special Modes" + +#: fdmprinter.def.json +msgctxt "blackmagic description" +msgid "category_blackmagic" +msgstr "category_blackmagic" + +#: fdmprinter.def.json +msgctxt "print_sequence label" +msgid "Print Sequence" +msgstr "Print Sequence" + +#: fdmprinter.def.json +msgctxt "print_sequence description" +msgid "Whether to print all models one layer at a time or to wait for one model to finish, before moving on to the next. One at a time mode is only possible if all models are separated in such a way that the whole print head can move in between and all models are lower than the distance between the nozzle and the X/Y axes." +msgstr "すべてのモデルをレイヤーごとに印刷するか、1つのモデルがプリント完了するのを待ち次のモデルに移動するかどうか。造形物の間にヘッドが通るだけのスペースがある場合のみ、一つずつ印刷する事が出来ます。" + +#: fdmprinter.def.json +msgctxt "print_sequence option all_at_once" +msgid "All at Once" +msgstr "All at Once" + +#: fdmprinter.def.json +msgctxt "print_sequence option one_at_a_time" +msgid "One at a Time" +msgstr "One at a Time" + +#: fdmprinter.def.json +msgctxt "infill_mesh label" +msgid "Infill Mesh" +msgstr "Infill Mesh" + +#: fdmprinter.def.json +msgctxt "infill_mesh description" +msgid "Use this mesh to modify the infill of other meshes with which it overlaps. Replaces infill regions of other meshes with regions for this mesh. It's suggested to only print one Wall and no Top/Bottom Skin for this mesh." +msgstr "このメッシュを使用して、重なる他のメッシュのインフィルを変更します。他のメッシュのインフィル領域を改なメッシュに置き換えます。これを利用する場合、1つのWallだけを印刷しTop / Bottom Skinは使用しないことをお勧めします。" + +#: fdmprinter.def.json +msgctxt "infill_mesh_order label" +msgid "Infill Mesh Order" +msgstr "Infill Mesh Order" + +#: fdmprinter.def.json +msgctxt "infill_mesh_order description" +msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." +msgstr "他のインフィルメッシュのインフィル内にあるインフィルメッシュを決定します。優先度の高いのインフィルメッシュは、低いメッシュと通常のメッシュのインフィルを変更します" + +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "このメッシュの大きさをを他のメッシュ内に制限します。この設定を使用することで、1つの特定のメッシュ領域の設定を、、全く別のエクストルーダーで作成することができます。" + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "型を取るため印刷し、ビルドプレート上の同じようなモデルを得るためにキャスト用の印刷をします。" + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "型用とモデルの外側の最短距離。" + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "型を印刷するためのモデルの水平部分上の高さ。" + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "型の外側の壁のオーバーハングの角度です。0度にすると垂直の外殻をつくります。 90度は輪郭に従いモデルの外側の外殻をつくります。" + +#: fdmprinter.def.json +msgctxt "support_mesh label" +msgid "Support Mesh" +msgstr "Support Mesh" + +#: fdmprinter.def.json +msgctxt "support_mesh description" +msgid "Use this mesh to specify support areas. This can be used to generate support structure." +msgstr "このメッシュを使用してサポート領域を指定します。これは、サポート構造を生成するために使用できます。" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "サポートメッシュの下のサポート材を全箇所に作ります、これはサポートメッシュ下にてオーバーハングしないようにするためです。" + +#: fdmprinter.def.json +msgctxt "anti_overhang_mesh label" +msgid "Anti Overhang Mesh" +msgstr "Anti Overhang Mesh" + +#: fdmprinter.def.json +msgctxt "anti_overhang_mesh description" +msgid "Use this mesh to specify where no part of the model should be detected as overhang. This can be used to remove unwanted support structure." +msgstr "このメッシュを使用して、モデルのどの部分をオーバーハングとして検出する必要がないかを指定します。これは、不要なサポート構造を削除するために使用できます。" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode label" +msgid "Surface Mode" +msgstr "Surface Mode" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode description" +msgid "Treat the model as a surface only, a volume, or volumes with loose surfaces. The normal print mode only prints enclosed volumes. \"Surface\" prints a single wall tracing the mesh surface with no infill and no top/bottom skin. \"Both\" prints enclosed volumes like normal and any remaining polygons as surfaces." +msgstr "モデルを表面のみ、ボリューム、または緩い表面のボリュームとして扱います。通常の印刷モードでは、囲まれた内部が印刷されます。 「Surface」は表面のみ印刷をして、インフィルもトップもボトムも印刷しません。 \"Both\"は通常と同様に囲まれた内部を印刷し残りのポリゴンをサーフェスとして印刷します。" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option normal" +msgid "Normal" +msgstr "Normal" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option surface" +msgid "Surface" +msgstr "Surface" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option both" +msgid "Both" +msgstr "Both" + +#: fdmprinter.def.json +msgctxt "magic_spiralize label" +msgid "Spiralize Outer Contour" +msgstr "Spiralize Outer Contour" + +#: fdmprinter.def.json +msgctxt "magic_spiralize description" +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Z軸の外側のエッジの動きを滑らかにします。全体の印刷に安定したZの動きを促し、この機能によりソリッドのモデルを固定した底辺と単一のウォールの印刷にします。この機能は各レイヤーが単一の部品を含んでいる場合のみに有効です。" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "らせん状の輪郭を滑らかにしてZシームの視認性を低下させます(Zシームは印刷物上でほとんどみえませんが、レイヤービューでは確認できます。)スムージングは​​細かいサーフェスの詳細をぼかす傾向があることに注意してください。" + +#: fdmprinter.def.json +msgctxt "experimental label" +msgid "Experimental" +msgstr "Experimental" + +#: fdmprinter.def.json +msgctxt "experimental description" +msgid "experimental!" +msgstr "実験的" + +#: fdmprinter.def.json +msgctxt "draft_shield_enabled label" +msgid "Enable Draft Shield" +msgstr "Enable Draft Shield" + +#: fdmprinter.def.json +msgctxt "draft_shield_enabled description" +msgid "This will create a wall around the model, which traps (hot) air and shields against exterior airflow. Especially useful for materials which warp easily." +msgstr "これにより、モデルの周囲に壁ができ、熱を閉じ込め、外気の流れを遮蔽します。特に反りやすい材料に有効です。" + +#: fdmprinter.def.json +msgctxt "draft_shield_dist label" +msgid "Draft Shield X/Y Distance" +msgstr "Draft Shield X/Y Distance" + +#: fdmprinter.def.json +msgctxt "draft_shield_dist description" +msgid "Distance of the draft shield from the print, in the X/Y directions." +msgstr "ドラフトシールドと造形物のX / Y方向の距離" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation label" +msgid "Draft Shield Limitation" +msgstr "Draft Shield Limitation" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation description" +msgid "Set the height of the draft shield. Choose to print the draft shield at the full height of the model or at a limited height." +msgstr "ドラフトシールドの高さを設定します。ドラフトシールドは、モデルの全高、または限られた高さで印刷するように選択します。" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation option full" +msgid "Full" +msgstr "Full" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation option limited" +msgid "Limited" +msgstr "Limited" + +#: fdmprinter.def.json +msgctxt "draft_shield_height label" +msgid "Draft Shield Height" +msgstr "Draft Shield Height" + +#: fdmprinter.def.json +msgctxt "draft_shield_height description" +msgid "Height limitation of the draft shield. Above this height no draft shield will be printed." +msgstr "ドラフトシールドの高さ制限。この高さを超えるとドラフトシールドが印刷されません。" + +#: fdmprinter.def.json +msgctxt "conical_overhang_enabled label" +msgid "Make Overhang Printable" +msgstr "Make Overhang Printable" + +#: fdmprinter.def.json +msgctxt "conical_overhang_enabled description" +msgid "Change the geometry of the printed model such that minimal support is required. Steep overhangs will become shallow overhangs. Overhanging areas will drop down to become more vertical." +msgstr "最小限のサポートが必要となるように印刷モデルのジオメトリを変更します。急なオーバーハングは浅いオーバーハングになります。オーバーハングした領域は、より垂直になるように下がります。" + +#: fdmprinter.def.json +msgctxt "conical_overhang_angle label" +msgid "Maximum Model Angle" +msgstr "Maximum Model Angle" + +#: fdmprinter.def.json +msgctxt "conical_overhang_angle description" +msgid "The maximum angle of overhangs after the they have been made printable. At a value of 0° all overhangs are replaced by a piece of model connected to the build plate, 90° will not change the model in any way." +msgstr "印刷可能になったオーバーハングの最大角度。 0°の値では、すべてのオーバーハングがビルドプレートに接続されたモデルの一部に置き換えられます。90°では、モデルは決して変更されません。" + +#: fdmprinter.def.json +msgctxt "coasting_enable label" +msgid "Enable Coasting" +msgstr "Enable Coasting" + +#: fdmprinter.def.json +msgctxt "coasting_enable description" +msgid "Coasting replaces the last part of an extrusion path with a travel path. The oozed material is used to print the last piece of the extrusion path in order to reduce stringing." +msgstr "コースティングは、それぞれの造形ラインの最後の部分をトラベルパスで置き換えます。はみ出た材料は、糸引きを減らすために造形ライン最後の部分を印刷するために使用される。" + +#: fdmprinter.def.json +msgctxt "coasting_volume label" +msgid "Coasting Volume" +msgstr "Coasting Volume" + +#: fdmprinter.def.json +msgctxt "coasting_volume description" +msgid "The volume otherwise oozed. This value should generally be close to the nozzle diameter cubed." +msgstr "はみ出るフィラメントのボリューム。この値は、一般に、ノズル直径の3乗に近い値でなければならない。" + +#: fdmprinter.def.json +msgctxt "coasting_min_volume label" +msgid "Minimum Volume Before Coasting" +msgstr "Minimum Volume Before Coasting" + +#: fdmprinter.def.json +msgctxt "coasting_min_volume description" +msgid "The smallest volume an extrusion path should have before allowing coasting. For smaller extrusion paths, less pressure has been built up in the bowden tube and so the coasted volume is scaled linearly. This value should always be larger than the Coasting Volume." +msgstr "コースティングに必要な最小の容積。より小さい押出経路の場合、ボーデンチューブにはより少ない圧力しか蓄積されないので、コースティングの容積は比例する。この値は、常に、コースティングのボリュームよりも大きな必要があります。" + +#: fdmprinter.def.json +msgctxt "coasting_speed label" +msgid "Coasting Speed" +msgstr "Coasting Speed" + +#: fdmprinter.def.json +msgctxt "coasting_speed description" +msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." +msgstr "コースティング中の移動速度。印刷時の経路の速度設定に比例します。ボーデンチューブの圧力が低下するので、100%よりわずかに低い値が推奨される。" + +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "Extra Skin Wall Count" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "上部/下部パターンの最も外側の部分を同心円の線で置き換えます。 1つまたは2つの線を使用すると、トップ部分の造形が改善されます。" + +#: fdmprinter.def.json +msgctxt "skin_alternate_rotation label" +msgid "Alternate Skin Rotation" +msgstr "Alternate Skin Rotation" + +#: fdmprinter.def.json +msgctxt "skin_alternate_rotation description" +msgid "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." +msgstr "トップ/ボトムのレイヤーが印刷される方向を変更します。通常、それらは斜めに印刷されます。この設定では、X方向のみとY方向のみが追加されます。" + +#: fdmprinter.def.json +msgctxt "support_conical_enabled label" +msgid "Enable Conical Support" +msgstr "Enable Conical Support" + +#: fdmprinter.def.json +msgctxt "support_conical_enabled description" +msgid "Experimental feature: Make support areas smaller at the bottom than at the overhang." +msgstr "実験的機能:オーバーハング部分よりも底面のサポート領域を小さくする。" + +#: fdmprinter.def.json +msgctxt "support_conical_angle label" +msgid "Conical Support Angle" +msgstr "Conical Support Angle" + +#: fdmprinter.def.json +msgctxt "support_conical_angle description" +msgid "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top." +msgstr "円錐形のサポートの傾きの角度。 0度は垂直であり、90度は水平である。角度が小さいと、サポートはより頑丈になりますが、より多くのマテリアルが必要になります。負の角度は、サポートのベースがトップよりも広くなります。" + +#: fdmprinter.def.json +msgctxt "support_conical_min_width label" +msgid "Conical Support Minimum Width" +msgstr "Conical Support Minimum Width" + +#: fdmprinter.def.json +msgctxt "support_conical_min_width description" +msgid "Minimum width to which the base of the conical support area is reduced. Small widths can lead to unstable support structures." +msgstr "円錐形のサポート領域のベースが縮小される最小幅。幅が狭いと、サポートが不安定になる可能性があります。" + +#: fdmprinter.def.json +msgctxt "infill_hollow label" +msgid "Hollow Out Objects" +msgstr "Hollow Out Objects" + +#: fdmprinter.def.json +msgctxt "infill_hollow description" +msgid "Remove all infill and make the inside of the object eligible for support." +msgstr "すべてのインフィルを取り除き、オブジェクトの内部をサポート可能にします。" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_enabled label" +msgid "Fuzzy Skin" +msgstr "Fuzzy Skin" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_enabled description" +msgid "Randomly jitter while printing the outer wall, so that the surface has a rough and fuzzy look." +msgstr "外壁を印刷する際に振動が起こり、表面が粗くてぼやける。" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_thickness label" +msgid "Fuzzy Skin Thickness" +msgstr "Fuzzy Skin Thickness" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_thickness description" +msgid "The width within which to jitter. It's advised to keep this below the outer wall width, since the inner walls are unaltered." +msgstr "振動が起こる幅。内壁は変更されていないので、これを外壁の幅より小さく設定することをお勧めします。" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_density label" +msgid "Fuzzy Skin Density" +msgstr "Fuzzy Skin Density" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_density description" +msgid "The average density of points introduced on each polygon in a layer. Note that the original points of the polygon are discarded, so a low density results in a reduction of the resolution." +msgstr "レイヤー内の各ポリゴンに導入されたポイントの平均密度。ポリゴンの元の点は破棄されるため、密度が低いと解像度が低下します。" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_dist label" +msgid "Fuzzy Skin Point Distance" +msgstr "Fuzzy Skin Point Distance" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_dist description" +msgid "The average distance between the random points introduced on each line segment. Note that the original points of the polygon are discarded, so a high smoothness results in a reduction of the resolution. This value must be higher than half the Fuzzy Skin Thickness." +msgstr "各線分に導入されたランダム点間の平均距離。ポリゴンの元の点は破棄されるので、積層の値を低くすることで、なめらかな仕上がりになります。この値は、ファジースキンの厚さの半分よりも大きくなければなりません。" + +#: fdmprinter.def.json +msgctxt "wireframe_enabled label" +msgid "Wire Printing" +msgstr "Wire Printing" + +#: fdmprinter.def.json +msgctxt "wireframe_enabled description" +msgid "Print only the outside surface with a sparse webbed structure, printing 'in thin air'. This is realized by horizontally printing the contours of the model at given Z intervals which are connected via upward and diagonally downward lines." +msgstr "薄い空気中に印刷し、疎なウエブ構造で外面のみを印刷します。これは、上向きおよび斜め下向きの線を介して接続された所定のZ間隔でモデルの輪郭を水平に印刷することによって実現される。" + +#: fdmprinter.def.json +msgctxt "wireframe_height label" +msgid "WP Connection Height" +msgstr "WP Connection Height" + +#: fdmprinter.def.json +msgctxt "wireframe_height description" +msgid "The height of the upward and diagonally downward lines between two horizontal parts. This determines the overall density of the net structure. Only applies to Wire Printing." +msgstr "2つの水平なパーツ間の、上向きおよび斜め下向きの線の高さ。これは、ネット構造の全体密度を決定します。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_inset label" +msgid "WP Roof Inset Distance" +msgstr "WP Roof Inset Distance" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_inset description" +msgid "The distance covered when making a connection from a roof outline inward. Only applies to Wire Printing." +msgstr "ルーフから内側に輪郭を描くときの距離。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed label" +msgid "WP Speed" +msgstr "WP Speed" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed description" +msgid "Speed at which the nozzle moves when extruding material. Only applies to Wire Printing." +msgstr "マテリアルを押し出すときにノズルが動く速度。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_bottom label" +msgid "WP Bottom Printing Speed" +msgstr "WP Bottom Printing Speed" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_bottom description" +msgid "Speed of printing the first layer, which is the only layer touching the build platform. Only applies to Wire Printing." +msgstr "ブルドプラットフォームに接触する第1層の印刷速度。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_up label" +msgid "WP Upward Printing Speed" +msgstr "WP Upward Printing Speed" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_up description" +msgid "Speed of printing a line upward 'in thin air'. Only applies to Wire Printing." +msgstr "薄い空気の中で上向きに線を印刷する速度。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_down label" +msgid "WP Downward Printing Speed" +msgstr "WP Downward Printing Speed" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_down description" +msgid "Speed of printing a line diagonally downward. Only applies to Wire Printing." +msgstr "斜め下方に線を印刷する速度。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_flat label" +msgid "WP Horizontal Printing Speed" +msgstr "WP Horizontal Printing Speed" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_flat description" +msgid "Speed of printing the horizontal contours of the model. Only applies to Wire Printing." +msgstr "モデルの水平輪郭を印刷する速度。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_flow label" +msgid "WP Flow" +msgstr "WP Flow" + +#: fdmprinter.def.json +msgctxt "wireframe_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value. Only applies to Wire Printing." +msgstr "流れ補正:押出されたマテリアルの量はこの値の乗算になります。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_connection label" +msgid "WP Connection Flow" +msgstr "WP Connection Flow" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_connection description" +msgid "Flow compensation when going up or down. Only applies to Wire Printing." +msgstr "上下に動くときの吐出補正。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_flat label" +msgid "WP Flat Flow" +msgstr "WP Flat Flow" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_flat description" +msgid "Flow compensation when printing flat lines. Only applies to Wire Printing." +msgstr "フラットラインを印刷する際の吐出補正。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_top_delay label" +msgid "WP Top Delay" +msgstr "WP Top Delay" + +#: fdmprinter.def.json +msgctxt "wireframe_top_delay description" +msgid "Delay time after an upward move, so that the upward line can harden. Only applies to Wire Printing." +msgstr "上向きの線が硬くなるように、上向きの動きの後の時間を遅らせる。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_bottom_delay label" +msgid "WP Bottom Delay" +msgstr "WP Bottom Delay" + +#: fdmprinter.def.json +msgctxt "wireframe_bottom_delay description" +msgid "Delay time after a downward move. Only applies to Wire Printing." +msgstr "下降後の遅延時間。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_flat_delay label" +msgid "WP Flat Delay" +msgstr "WP Flat Delay" + +#: fdmprinter.def.json +msgctxt "wireframe_flat_delay description" +msgid "Delay time between two horizontal segments. Introducing such a delay can cause better adhesion to previous layers at the connection points, while too long delays cause sagging. Only applies to Wire Printing." +msgstr "2つの水平セグメント間の遅延時間。このような遅延を挿入すると、前のレイヤーとの接着性が向上することがありますが、遅延が長すぎると垂れ下がりが発生します。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_up_half_speed label" +msgid "WP Ease Upward" +msgstr "WP Ease Upward" + +#: fdmprinter.def.json +msgctxt "wireframe_up_half_speed description" +msgid "" +"Distance of an upward move which is extruded with half speed.\n" +"This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." +msgstr "半分の速度で押出される上方への移動距離。過度にマテリアルを加熱することなく、前の層とのより良い接着を作ります。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_top_jump label" +msgid "WP Knot Size" +msgstr "WP Knot Size" + +#: fdmprinter.def.json +msgctxt "wireframe_top_jump description" +msgid "Creates a small knot at the top of an upward line, so that the consecutive horizontal layer has a better chance to connect to it. Only applies to Wire Printing." +msgstr "上向きの線の上端に小さな結び目を作成し、連続する水平レイヤーを接着力を高めます。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_fall_down label" +msgid "WP Fall Down" +msgstr "WP Fall Down" + +#: fdmprinter.def.json +msgctxt "wireframe_fall_down description" +msgid "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing." +msgstr "上向き押出後にマテリアルが落下する距離。この距離は補正される。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_drag_along label" +msgid "WP Drag Along" +msgstr "WP Drag Along" + +#: fdmprinter.def.json +msgctxt "wireframe_drag_along description" +msgid "Distance with which the material of an upward extrusion is dragged along with the diagonally downward extrusion. This distance is compensated for. Only applies to Wire Printing." +msgstr "斜め下方への押出に伴い上向き押出しているマテリアルが引きずられる距離。この距離は補正される。ワイヤ印刷のみに適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy label" +msgid "WP Strategy" +msgstr "WP Strategy" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy description" +msgid "Strategy for making sure two consecutive layers connect at each connection point. Retraction lets the upward lines harden in the right position, but may cause filament grinding. A knot can be made at the end of an upward line to heighten the chance of connecting to it and to let the line cool; however, it may require slow printing speeds. Another strategy is to compensate for the sagging of the top of an upward line; however, the lines won't always fall down as predicted." +msgstr "各接続ポイントで2つの連続したレイヤーが密着していることを確認するためのストラテジー。収縮すると上向きの線が正しい位置で硬化しますが、フィラメントの研削が行われる可能性があります。上向きの線の終わりに結び目をつけて接続する機会を増やし、線を冷やすことができます。ただし、印刷速度が遅くなることがあります。別の方法は、上向きの線の上端のたるみを補償することである。しかし、予測どおりにラインが必ずしも落ちるとは限りません。" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option compensate" +msgid "Compensate" +msgstr "Compensate" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option knot" +msgid "Knot" +msgstr "Knot" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option retract" +msgid "Retract" +msgstr "Retract" + +#: fdmprinter.def.json +msgctxt "wireframe_straight_before_down label" +msgid "WP Straighten Downward Lines" +msgstr "WP Straighten Downward Lines" + +#: fdmprinter.def.json +msgctxt "wireframe_straight_before_down description" +msgid "Percentage of a diagonally downward line which is covered by a horizontal line piece. This can prevent sagging of the top most point of upward lines. Only applies to Wire Printing." +msgstr "水平方向の直線部分で覆われた斜めに下降線の割合です。これは上向きラインのほとんどのポイント、上部のたるみを防ぐことができます。ワイヤ印刷にのみ適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_fall_down label" +msgid "WP Roof Fall Down" +msgstr "WP Roof Fall Down" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_fall_down description" +msgid "The distance which horizontal roof lines printed 'in thin air' fall down when being printed. This distance is compensated for. Only applies to Wire Printing." +msgstr "水平ルーフが ”薄い空気”に印刷され落ちる距離。この距離は補正されています。ワイヤ印刷に適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_drag_along label" +msgid "WP Roof Drag Along" +msgstr "WP Roof Drag Along" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_drag_along description" +msgid "The distance of the end piece of an inward line which gets dragged along when going back to the outer outline of the roof. This distance is compensated for. Only applies to Wire Printing." +msgstr "ルーフの外側の輪郭に戻る際に引きずる内側ラインの終わり部分の距離。この距離は補正されていてワイヤ印刷のみ適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_outer_delay label" +msgid "WP Roof Outer Delay" +msgstr "WP Roof Outer Delay" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_outer_delay description" +msgid "Time spent at the outer perimeters of hole which is to become a roof. Longer times can ensure a better connection. Only applies to Wire Printing." +msgstr "トップレイヤーにある穴の外側に掛ける時間。長い時間の方はより良い密着を得られます。ワイヤ印刷にのみ適用されます。" + +#: fdmprinter.def.json +msgctxt "wireframe_nozzle_clearance label" +msgid "WP Nozzle Clearance" +msgstr "WP Nozzle Clearance" + +#: fdmprinter.def.json +msgctxt "wireframe_nozzle_clearance description" +msgid "Distance between the nozzle and horizontally downward lines. Larger clearance results in diagonally downward lines with a less steep angle, which in turn results in less upward connections with the next layer. Only applies to Wire Printing." +msgstr "ノズルと水平方向に下向きの線間の距離。大きな隙間がある場合、急な角度で斜め下方線となり、次の層が上方接続しずらくなる。ワイヤ印刷にのみ適用されます。" + +#: fdmprinter.def.json +msgctxt "command_line_settings label" +msgid "Command Line Settings" +msgstr "Command Line Settings" + +#: fdmprinter.def.json +msgctxt "command_line_settings description" +msgid "Settings which are only used if CuraEngine isn't called from the Cura frontend." +msgstr "CuraエンジンがCuraフロントエンドから呼び出されない場合のみ使用される設定。" + +#: fdmprinter.def.json +msgctxt "center_object label" +msgid "Center object" +msgstr "Center object" + +#: fdmprinter.def.json +msgctxt "center_object description" +msgid "Whether to center the object on the middle of the build platform (0,0), instead of using the coordinate system in which the object was saved." +msgstr "オブジェクトが保存された座標系を使用する代わりにビルドプラットフォームの中間(0,0)にオブジェクトを配置するかどうか。" + +#: fdmprinter.def.json +msgctxt "mesh_position_x label" +msgid "Mesh position x" +msgstr "Mesh position x" + +#: fdmprinter.def.json +msgctxt "mesh_position_x description" +msgid "Offset applied to the object in the x direction." +msgstr "オブジェクトの x 方向に適用されたオフセット。" + +#: fdmprinter.def.json +msgctxt "mesh_position_y label" +msgid "Mesh position y" +msgstr "Mesh position y" + +#: fdmprinter.def.json +msgctxt "mesh_position_y description" +msgid "Offset applied to the object in the y direction." +msgstr "オブジェクトのY 方向適用されたオフセット。" + +#: fdmprinter.def.json +msgctxt "mesh_position_z label" +msgid "Mesh position z" +msgstr "Mesh position z" + +#: fdmprinter.def.json +msgctxt "mesh_position_z description" +msgid "Offset applied to the object in the z direction. With this you can perform what was used to be called 'Object Sink'." +msgstr "オブジェクトの z 方向に適用されたオフセット。この 'オブジェクト シンク' と呼ばれていたものを再現できます。" + +#: fdmprinter.def.json +msgctxt "mesh_rotation_matrix label" +msgid "Mesh Rotation Matrix" +msgstr "Mesh Rotation Matrix" + +#: fdmprinter.def.json +msgctxt "mesh_rotation_matrix description" +msgid "Transformation matrix to be applied to the model when loading it from file." +msgstr "ファイルから読み込むときに、モデルに適用するトランスフォーメーションマトリックス。" + +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "単一のサポートインタフェースラインの幅。" + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Cubic Subdivision Radius" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "各立方体の中心からの半径上の乗数で、モデルの境界をチェックし、この立方体を細分するかどうかを決定します。値を大きくすると細分化が増えます。つまり、より小さなキューブになります。" + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Expand Upper Skins" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "上部のインフィルをサポートするので、スキン面 (上記の空気を含んだ領域) を展開します。" + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Expand Lower Skins" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "彼らは上と下の面材のレイヤーによって固定されますので、低い肌の部分 (空気を含んだ領域) を展開します。" + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "天井と底面のサポート材をプリントする速度 これらを低速でプリントするとオーバーハング部分の品質を向上できます。" + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "サポート材の上面と底面が印刷されるスピード 低速度で印刷するとオーバーハングの品質が向上します。" + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "サポート材の屋根とボトムのプリント時、最大瞬間速度の変更。" + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Enable Support" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "サポート材を印刷可能にします。これは、モデル上のオーバーハング部分にサポート材を構築します。" + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "サポートの天井とボトム部分を印刷する際のエクストルーダー。複数のエクストルーダーがある場合に使用される。" + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "モデルにかかる階段形サポートの下部の高さです。低い値のサポートの除去は難しく、高すぎる値は不安定なサポート構造につながります。" + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Support Bottom Thickness" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "サポート材の底部の厚さ。これは、サモデルの上に印刷されるサポートの積層密度を制御します。" + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "サポート上にモデルがあることを確認するときは、指定された高さのステップを実行します。値が小さいほどスライスが遅くなりますが、値が大きくなるとサポートインターフェイスが必要な場所で通常のサポートが印刷されることがあります。" + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "サポート材の屋根と底部の密度を調整します 大きな値ではオーバーハングでの成功率があがりますが、サポート材が除去しにくくなります" + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Support Interface Line Distance" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "印刷されたサポートインタフェースラインの間隔。この設定はSupport Interface Densityで計算されますが、個別に調整することができます。" + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Spiralizeは外縁のZ移動を平滑化します。これにより、プリント全体にわたって安定したZ値が得られます。この機能は、ソリッドモデルを単一のウォールプリントに変換し、底面と側面のみ印刷します。この機能は以前のバージョンではJorisと呼ばれていました。" diff --git a/resources/i18n/ko/cura.po b/resources/i18n/ko/cura.po index c9ebceac03..e62c6df143 100644 --- a/resources/i18n/ko/cura.po +++ b/resources/i18n/ko/cura.po @@ -5,13 +5,15 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-03-30 22:05+0900\n" -"Last-Translator: Ultimaker's Korean Sales Partner \n" -"Language-Team: Ultimaker's Korean Sales Partner \n" -"Language: ko\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-03-27 17:27+0200\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: Korean\n" +"Lang-Code: ko\n" +"Country-Code: KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,12 +27,10 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/__init__.py:15 msgctxt "@info:whatsthis" -msgid "" -"Provides a way to change machine settings (such as build volume, nozzle " -"size, etc)" +msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "빌드볼륨, 노즐 사이즈 등, 장비 셋팅의 방법을 제공합니다. " -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "" @@ -131,6 +131,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "" + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -138,11 +158,8 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:17 msgctxt "@info:whatsthis" -msgid "" -"Accepts G-Code and sends them to a printer. Plugin can also update firmware." -msgstr "" -"G-Code를 생성하고 이를 프린터로 보냅니다. 프러그인이 펌웨어를 업데이트 합니" -"다. " +msgid "Accepts G-Code and sends them to a printer. Plugin can also update firmware." +msgstr "G-Code를 생성하고 이를 프린터로 보냅니다. 프러그인이 펌웨어를 업데이트 합니다. " #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:26 msgctxt "@item:inmenu" @@ -164,21 +181,19 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" -msgid "" -"This printer does not support USB printing because it uses UltiGCode flavor." +msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" -msgid "" -"Unable to start a new job because the printer does not support usb printing." +msgid "Unable to start a new job because the printer does not support usb printing." msgstr "" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDeviceManager.py:107 @@ -213,49 +228,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -293,13 +308,11 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:156 msgctxt "@info:status" -msgid "" -"Access to the printer requested. Please approve the request on the printer" +msgid "Access to the printer requested. Please approve the request on the printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:157 #, fuzzy -#| msgid "" msgctxt "@info:status" msgid "" msgstr "" @@ -347,168 +360,154 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" -msgid "" -"Connected over the network. Please approve the access request on the printer." +msgid "Connected over the network. Please approve the access request on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" -msgid "" -"The connection with the printer was lost. Check your printer to see if it is " -"connected." +msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" -msgid "" -"Unable to start a new print job, printer is busy. Current printer status is " -"%s." +msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" -msgid "" -"Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" +msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" -msgid "" -"Print core {0} is not properly calibrated. XY calibration needs to be " -"performed on the printer." +msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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." +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 "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" -msgid "" -"The print cores and/or materials on your printer differ from those within " -"your current project. For the best result, always slice for the print cores " -"and materials that are inserted in your printer." +msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.py:19 @@ -548,14 +547,11 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/__init__.py:13 msgctxt "@info:whatsthis" msgid "Submits anonymous slice info. Can be disabled through preferences." -msgstr "" -"익명 슬라이스 정보를 제출합니다. 환경 설정을 통해 비활성화 할 수 있습니다. " +msgstr "익명 슬라이스 정보를 제출합니다. 환경 설정을 통해 비활성화 할 수 있습니다. " #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:75 msgctxt "@info" -msgid "" -"Cura collects anonymised slicing statistics. You can disable this in " -"preferences" +msgid "Cura collects anonymised slicing statistics. You can disable this in preferences" msgstr "" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:76 @@ -563,12 +559,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "읽기 및 XML 기반의 물질 프로파일을 작성하는 기능을 제공합니다. " @@ -619,20 +615,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" +msgid "Version Upgrade 2.5 to 2.6" msgstr "" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "큐라 2.4 구성을 큐라 2.5 구성으로 업그레이드합니다. " +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "" #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -662,9 +658,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:15 msgctxt "@info:whatsthis" msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "" -"2D 이미지 파일에서 인쇄 가능한 지오메트리를 생성 할 수있는 기능을 활성화합니" -"다. " +msgstr "2D 이미지 파일에서 인쇄 가능한 지오메트리를 생성 할 수있는 기능을 활성화합니다. " #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:21 msgctxt "@item:inlistbox" @@ -691,33 +685,26 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" -msgid "" -"The selected material is incompatible with the selected machine or " -"configuration." +msgid "The selected material is incompatible with the selected machine or configuration." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" -msgid "" -"Unable to slice with the current settings. The following settings have " -"errors: {0}" +msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" -msgid "" -"Unable to slice because the prime tower or prime position(s) are invalid." +msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" -msgid "" -"Nothing to slice because none of the models fit the build volume. Please " -"scale or rotate models to fit." +msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/__init__.py:13 @@ -730,8 +717,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "큐라엔진 슬라이싱 백엔드에 대한 링크를 제공합니다. " -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "" @@ -756,36 +743,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "3MF 파일을 읽기위한 지원을 제공합니다. " -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "" @@ -820,11 +807,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "" + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -841,45 +833,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "3MF 파일을 작성하기 위한 지원을 제공합니다. " -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "" -"Provides machine actions for Ultimaker machines (such as bed leveling " -"wizard, selecting upgrades, etc)" -msgstr "" -"베드레벨링, 마법사, 선택적인 업그레이드 등의 Ultimaker 장비에 대한 기계적인 " -"액션을 제공합니다. " - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "베드레벨링, 마법사, 선택적인 업그레이드 등의 Ultimaker 장비에 대한 기계적인 액션을 제공합니다. " + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -905,7 +894,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "큐라 프로파일을 가져 오기 위한 지원을 제공합니다. " -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -921,253 +910,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 -#, python-brace-format -msgctxt "@label" -msgid "" -"The file {0} already exists. Are you sure you want to " -"overwrite it?" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "" -"Unable to find a quality profile for this combination. Default settings will " -"be used instead." -msgstr "" - +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format -msgctxt "@info:status" -msgid "" -"Failed to export profile to {0}: {1}" +msgctxt "@label" +msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" -msgid "" -"Failed to export profile to {0}: Writer plugin reported " -"failure." +msgid "Failed to export profile to {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 +#, python-brace-format +msgctxt "@info:status" +msgid "Failed to export profile to {0}: Writer plugin reported failure." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" -msgid "" -"Failed to import profile from {0}: {1}" +msgid "Failed to import profile from {0}: {1}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 msgctxt "@info:status" -msgid "" -"The build volume height has been reduced due to the value of the \"Print " -"Sequence\" setting to prevent the gantry from colliding with printed models." +msgid "Profile is missing a quality type." msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 +msgctxt "@info:status" +msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." +msgstr "" + +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 msgctxt "@title:window" -msgid "Oops!" +msgid "Crash Report" msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock." -"

\n" -"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/" -"issues

\n" +"

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " msgstr "" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 -msgctxt "@label" -msgid "Printer Settings" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 -msgctxt "@label" -msgid "X (Width)" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 -msgctxt "@label" -msgid "mm" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" msgstr "" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" +msgid "Printer Settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 +msgctxt "@label" +msgid "X (Width)" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 +msgctxt "@label" +msgid "mm" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 +msgctxt "@label" msgid "Y (Depth)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "" @@ -1184,7 +1229,6 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 #, fuzzy -#| msgid "" msgctxt "@label" msgid "" msgstr "" @@ -1217,7 +1261,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1270,106 +1314,100 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" +"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 "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" -msgid "" -"If your printer is not listed, read the network-printing " -"troubleshooting guide" +msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "" @@ -1414,72 +1452,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "" @@ -1531,11 +1564,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:126 msgctxt "@info:tooltip" -msgid "" -"By default, white pixels represent high points on the mesh and black pixels " -"represent low points on the mesh. Change this option to reverse the behavior " -"such that black pixels represent high points on the mesh and white pixels " -"represent low points on the mesh." +msgid "By default, white pixels represent high points on the mesh and black pixels represent low points on the mesh. Change this option to reverse the behavior such that black pixels represent high points on the mesh and white pixels represent low points on the mesh." msgstr "" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:139 @@ -1559,34 +1588,27 @@ msgid "Smoothing" msgstr "" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "" @@ -1596,128 +1618,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1725,18 +1763,12 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:38 msgctxt "@label" -msgid "" -"To make sure your prints will come out great, you can now adjust your " -"buildplate. When you click 'Move to Next Position' the nozzle will move to " -"the different positions that can be adjusted." +msgid "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:47 msgctxt "@label" -msgid "" -"For every position; insert a piece of paper under the nozzle and adjust the " -"print build plate height. The print build plate height is right when the " -"paper is slightly gripped by the tip of the nozzle." +msgid "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 @@ -1756,17 +1788,12 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:38 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." +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 "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:48 msgctxt "@label" -msgid "" -"The firmware shipping with new printers works, but new versions tend to have " -"more features and improvements." +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:62 @@ -1784,11 +1811,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1806,9 +1828,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 msgctxt "@label" -msgid "" -"It's a good idea to do a few sanity checks on your Ultimaker. You can skip " -"this step if you know your machine is functional" +msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" msgstr "" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 @@ -1905,7 +1925,7 @@ msgid "Printer does not accept commands" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "" @@ -1916,19 +1936,19 @@ msgid "Lost connection with the printer" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "" @@ -1963,137 +1983,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "" @@ -2129,201 +2159,240 @@ msgid "Unit" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "" -"You will need to restart the application for language changes to have effect." +msgid "Theme:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" -msgid "" -"Highlight unsupported areas of the model in red. Without support these areas " -"will not print properly." +msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "" -"Moves the camera so the model is in the center of the view when an model is " -"selected" +msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 msgctxt "@info:tooltip" -msgid "" -"Should models on the platform be moved so that they no longer intersect?" +msgid "Should the default zoom behavior of cura be inverted?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 +msgctxt "@info:tooltip" +msgid "Should models on the platform be moved so that they no longer intersect?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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?" +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 "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" -msgid "" -"Should a prefix based on the printer name be added to the print job name " -"automatically?" +msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 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." +msgid "Default behavior when opening a project file" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 +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 "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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." +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 "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "" @@ -2339,34 +2408,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "" @@ -2392,13 +2461,13 @@ msgid "Duplicate" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "" @@ -2420,9 +2489,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:190 msgctxt "@action:label" -msgid "" -"This profile uses the defaults specified by the printer, so it has no " -"settings/overrides in the list below." +msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:197 @@ -2466,64 +2533,65 @@ msgid "Export Profile" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 -msgctxt "" -"@action:label %1 is printer name, %2 is how this printer names variants, %3 " -"is variant name" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 +msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" -msgid "" -"Could not import material %1: %2" +msgid "Could not import material %1: %2" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" -msgid "" -"Failed to export material to %1: %2" +msgid "Failed to export material to %1: %2" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "" @@ -2538,17 +2606,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "" @@ -2660,27 +2778,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "" @@ -2688,8 +2811,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:93 msgctxt "@label" msgid "" -"Some hidden settings use values different from their normal calculated " -"value.\n" +"Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." msgstr "" @@ -2706,9 +2828,7 @@ msgstr "" #: /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" +msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 @@ -2727,24 +2847,19 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:282 msgctxt "@label" msgid "" -"This setting is normally calculated, but it currently has an absolute value " -"set.\n" +"This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:185 msgctxt "@tooltip" -msgid "" -"Print Setup

Edit or review the settings for the active print " -"job." +msgid "Print Setup

Edit or review the settings for the active print job." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:284 msgctxt "@tooltip" -msgid "" -"Print Monitor

Monitor the state of the connected printer and " -"the print job in progress." +msgid "Print Monitor

Monitor the state of the connected printer and the print job in progress." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:337 @@ -2759,21 +2874,17 @@ msgid "" "G-code files cannot be modified" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" -msgid "" -"Recommended Print Setup

Print with the recommended settings " -"for the selected printer, material and quality." +msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" -msgid "" -"Custom Print Setup

Print with finegrained control over every " -"last bit of the slicing process." +msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "" @@ -2788,6 +2899,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2830,9 +2960,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:278 msgctxt "@tooltip" -msgid "" -"The target temperature of the heated bed. The bed will heat up or cool down " -"towards this temperature. If this is 0, the bed heating is turned off." +msgid "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:310 @@ -2857,10 +2985,7 @@ msgstr "" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:600 msgctxt "@tooltip of pre-heat" -msgid "" -"Heat the bed in advance before printing. You can continue adjusting your " -"print while it is heating, and you won't have to wait for the bed to heat up " -"when you're ready to print." +msgid "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:633 @@ -2883,171 +3008,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "" +msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." +msgid "&Open File(s)..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." +msgid "&New Project..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -3078,21 +3224,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -3103,96 +3265,106 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" +msgid "Save &As..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" +msgid "New project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" +msgid "Open File(s)" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 @@ -3200,108 +3372,141 @@ msgctxt "@title:window" msgid "Save Project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" +msgid "0%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" +msgid "Empty infill will leave your model hollow with low strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" +msgid "20%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" +msgid "Light (20%) infill will give your model an average strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" +msgid "50%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" +msgid "Dense (50%) infill will give your model an above average strength." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" +msgid "100%" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" +msgid "Solid (100%) infill will make your model completely solid." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "" -"Enable support structures. These structures support parts of the model with " -"severe overhangs." +msgid "Gradual" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" -msgid "" -"Select which extruder to use for support. This will build up supporting " -"structures below the model to prevent the model from sagging or printing in " -"mid air." +msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" -msgid "" -"Enable printing a brim or raft. This will add a flat area around or under " -"your object which is easy to cut off afterwards." +msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "" -"Need help improving your prints? Read the Ultimaker " -"Troubleshooting Guides" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "" +msgstr[1] "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 @@ -3315,16 +3520,24 @@ msgctxt "@label" msgid "Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" -"Some setting/override values are different from the values stored in the " -"profile.\n" +"Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." msgstr "" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "큐라 2.4 구성을 큐라 2.5 구성으로 업그레이드합니다. " diff --git a/resources/i18n/ko/fdmextruder.def.json.po b/resources/i18n/ko/fdmextruder.def.json.po new file mode 100644 index 0000000000..4286843f2b --- /dev/null +++ b/resources/i18n/ko/fdmextruder.def.json.po @@ -0,0 +1,191 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-19 17:36+0900\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: ko\n" +"Lang-Code: ko\n" +"Country-Code: KR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.0.1\n" + +#: fdmextruder.def.json +msgctxt "machine_settings label" +msgid "Machine" +msgstr "장비 " + +#: fdmextruder.def.json +msgctxt "machine_settings description" +msgid "Machine specific settings" +msgstr "장비 별 설정 " + +#: fdmextruder.def.json +msgctxt "extruder_nr label" +msgid "Extruder" +msgstr "압출기 " + +#: fdmextruder.def.json +msgctxt "extruder_nr description" +msgid "The extruder train used for printing. This is used in multi-extrusion." +msgstr "인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "노즐 지름" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때, 본 설정을 변경하십시오. " + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_x label" +msgid "Nozzle X Offset" +msgstr "노즐 X 오프셋 " + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_x description" +msgid "The x-coordinate of the offset of the nozzle." +msgstr "노즐 오프셋의 x 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_y label" +msgid "Nozzle Y Offset" +msgstr "노즐 Y 오프셋" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_offset_y description" +msgid "The y-coordinate of the offset of the nozzle." +msgstr "노즐 오프셋의 y 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_code label" +msgid "Extruder Start G-Code" +msgstr "압출기 시작 G 코드" + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_code description" +msgid "Start g-code to execute whenever turning the extruder on." +msgstr "압출기를 켤 때마다 실행할 g 코드를 시작하십시오. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_abs label" +msgid "Extruder Start Position Absolute" +msgstr "압출기 시작 위치의 절대 값 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_abs description" +msgid "Make the extruder starting position absolute rather than relative to the last-known location of the head." +msgstr "압출기 시작 위치를 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 만듭니다." + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_x label" +msgid "Extruder Start Position X" +msgstr "압출기 시작 X의 위치 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_x description" +msgid "The x-coordinate of the starting position when turning the extruder on." +msgstr "압출기를 켤 때 시작 위치의 x 좌표. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_y label" +msgid "Extruder Start Position Y" +msgstr "압출기 시작 위치 Y " + +#: fdmextruder.def.json +msgctxt "machine_extruder_start_pos_y description" +msgid "The y-coordinate of the starting position when turning the extruder on." +msgstr "압출기를 켤 때 시작 위치의 y 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_code label" +msgid "Extruder End G-Code" +msgstr "압출기 최종 G 코드 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_code description" +msgid "End g-code to execute whenever turning the extruder off." +msgstr "압출기를 끌 때마다 실행할 g 코드를 종료하십시오. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_abs label" +msgid "Extruder End Position Absolute" +msgstr "압출기 끝 절대 위치 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_abs description" +msgid "Make the extruder ending position absolute rather than relative to the last-known location of the head." +msgstr "압출 성형기가 헤드의 마지막으로 알려진 위치에 상대적이 아닌 절대 위치로 끝나도록하십시오. " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_x label" +msgid "Extruder End Position X" +msgstr "압출기 끝 X 위치 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_x description" +msgid "The x-coordinate of the ending position when turning the extruder off." +msgstr "압출기를 끌 때 끝 위치의 x 좌표." + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_y label" +msgid "Extruder End Position Y" +msgstr "압출기 끝 Y 위치 " + +#: fdmextruder.def.json +msgctxt "machine_extruder_end_pos_y description" +msgid "The y-coordinate of the ending position when turning the extruder off." +msgstr "압출기를 끌 때 종료 위치의 y 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_z label" +msgid "Extruder Prime Z Position" +msgstr "압출기 프라임 Z 위치 " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_z description" +msgid "The Z coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝나는 위치의 Z 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "platform_adhesion label" +msgid "Build Plate Adhesion" +msgstr "플레이트 접착력 강화 " + +#: fdmextruder.def.json +msgctxt "platform_adhesion description" +msgid "Adhesion" +msgstr "부착 " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_x label" +msgid "Extruder Prime X Position" +msgstr "압출기 프라임 X 위치 " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_x description" +msgid "The X coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 X 좌표입니다. " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_y label" +msgid "Extruder Prime Y Position" +msgstr "압출기 프라임 Y 위치 " + +#: fdmextruder.def.json +msgctxt "extruder_prime_pos_y description" +msgid "The Y coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 Y 좌표입니다. " diff --git a/resources/i18n/ko/fdmprinter.def.json.po b/resources/i18n/ko/fdmprinter.def.json.po new file mode 100644 index 0000000000..d430226aa4 --- /dev/null +++ b/resources/i18n/ko/fdmprinter.def.json.po @@ -0,0 +1,4362 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-23 16:16+0900\n" +"Last-Translator: None\n" +"Language-Team: None\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.0.2\n" + +#: fdmprinter.def.json +msgctxt "machine_settings label" +msgid "Machine" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_settings description" +msgid "Machine specific settings" +msgstr "기계 별 설정 " + +#: fdmprinter.def.json +msgctxt "machine_name label" +msgid "Machine Type" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_name description" +msgid "The name of your 3D printer model." +msgstr "3D 프린터 모델의 이름입니다. " + +#: fdmprinter.def.json +msgctxt "machine_show_variants label" +msgid "Show machine variants" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_show_variants description" +msgid "Whether to show the different variants of this machine, which are described in separate json files." +msgstr "별도의 json 파일에 설명 된이 기계의 다양한 변형을 표시할지 여부 " + +#: fdmprinter.def.json +msgctxt "machine_start_gcode label" +msgid "Start GCode" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_start_gcode description" +msgid "" +"Gcode commands to be executed at the very start - separated by \n" +"." +msgstr "G 시작과 동시에 실행될 코드 명령어 " + +#: fdmprinter.def.json +msgctxt "machine_end_gcode label" +msgid "End GCode" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_end_gcode description" +msgid "" +"Gcode commands to be executed at the very end - separated by \n" +"." +msgstr "G 맨 마지막에 실행될 코드 명령 " + +#: fdmprinter.def.json +msgctxt "material_guid label" +msgid "Material GUID" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_guid description" +msgid "GUID of the material. This is set automatically. " +msgstr "재료의 GUID. 자동으로 설정됩니다. " + +#: fdmprinter.def.json +msgctxt "material_bed_temp_wait label" +msgid "Wait for build plate heatup" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_wait description" +msgid "Whether to insert a command to wait until the build plate temperature is reached at the start." +msgstr "시작 시, 빌드 플레이트 온도에 도달 할 때까지 대기하라는 명령을 삽입할지 여부 " + +#: fdmprinter.def.json +msgctxt "material_print_temp_wait label" +msgid "Wait for nozzle heatup" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_print_temp_wait description" +msgid "Whether to wait until the nozzle temperature is reached at the start." +msgstr "시작 시, 노즐 온도에 도달 할 때까지 대기할지 여부 " + +#: fdmprinter.def.json +msgctxt "material_print_temp_prepend label" +msgid "Include material temperatures" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_print_temp_prepend description" +msgid "Whether to include nozzle temperature commands at the start of the gcode. When the start_gcode already contains nozzle temperature commands Cura frontend will automatically disable this setting." +msgstr "gcode의 시작 부분에 노즐 온도 명령을 포함할지 여부. start_gcode에 이미 노즐 온도 명령이 포함되어있을 때 Cura 프론트 엔드는이 설정을 자동으로 비활성화합니다. " + +#: fdmprinter.def.json +msgctxt "material_bed_temp_prepend label" +msgid "Include build plate temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_bed_temp_prepend description" +msgid "Whether to include build plate temperature commands at the start of the gcode. When the start_gcode already contains build plate temperature commands Cura frontend will automatically disable this setting." +msgstr "gcode가 시작될 때 빌드 플레이트 온도 명령을 포함할지 여부. start_gcode에 빌드 플레이트 온도 명령이 이미 있으면 Cura 프론트는이 설정을 자동으로 비활성화합니다. " + +#: fdmprinter.def.json +msgctxt "machine_width label" +msgid "Machine width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_width description" +msgid "The width (X-direction) of the printable area." +msgstr "인쇄 가능 영역의 폭 (X 방향) " + +#: fdmprinter.def.json +msgctxt "machine_depth label" +msgid "Machine depth" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_depth description" +msgid "The depth (Y-direction) of the printable area." +msgstr "인쇄 가능 영역의 깊이 (Y 방향) " + +#: fdmprinter.def.json +msgctxt "machine_shape label" +msgid "Build plate shape" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_shape description" +msgid "The shape of the build plate without taking unprintable areas into account." +msgstr "인쇄 할 수없는 영역을 고려하지 않고 빌드 플레이트의 모양 " + +#: fdmprinter.def.json +msgctxt "machine_shape option rectangular" +msgid "Rectangular" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_shape option elliptic" +msgid "Elliptic" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_height label" +msgid "Machine height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_height description" +msgid "The height (Z-direction) of the printable area." +msgstr "인쇄 가능 영역의 높이 (Z 방향)입니다. " + +#: fdmprinter.def.json +msgctxt "machine_heated_bed label" +msgid "Has heated build plate" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_heated_bed description" +msgid "Whether the machine has a heated build plate present." +msgstr "기계에 가열 된 빌드 플레이트가 있는지 여부 " + +#: fdmprinter.def.json +msgctxt "machine_center_is_zero label" +msgid "Is center origin" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_center_is_zero description" +msgid "Whether the X/Y coordinates of the zero position of the printer is at the center of the printable area." +msgstr "프린터의 \"0\" 위치의 X / Y 좌표가 인쇄 가능 영역의 중앙에 있는지 여부 " + +#: fdmprinter.def.json +msgctxt "machine_extruder_count label" +msgid "Number of Extruders" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_extruder_count description" +msgid "Number of extruder trains. An extruder train is the combination of a feeder, bowden tube, and nozzle." +msgstr "압출기 열차의 수. 압출기 트레인은 피더, 보우 덴 튜브 및 노즐의 조합입니다. " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_tip_outer_diameter label" +msgid "Outer nozzle diameter" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_tip_outer_diameter description" +msgid "The outer diameter of the tip of the nozzle." +msgstr "노즐 끝의 외경 " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_head_distance label" +msgid "Nozzle length" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_head_distance description" +msgid "The height difference between the tip of the nozzle and the lowest part of the print head." +msgstr "노즐의 끝과 프린트 헤드의 가장 낮은 부분 사이의 높이 차이입니다. " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_expansion_angle label" +msgid "Nozzle angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_expansion_angle description" +msgid "The angle between the horizontal plane and the conical part right above the tip of the nozzle." +msgstr "노즐 끝 바로 위의 수평면과 원뿔 부분 사이의 각도입니다. " + +#: fdmprinter.def.json +msgctxt "machine_heat_zone_length label" +msgid "Heat zone length" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_heat_zone_length description" +msgid "The distance from the tip of the nozzle in which heat from the nozzle is transferred to the filament." +msgstr "노즐의 열이 필라멘트로 전달되는 노즐의 끝에서부터의 거리 " + +#: fdmprinter.def.json +msgctxt "machine_filament_park_distance label" +msgid "Filament Park Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_filament_park_distance description" +msgid "The distance from the tip of the nozzle where to park the filament when an extruder is no longer used." +msgstr "압출기가 더 이상 사용되지 않을 때 필라멘트를 파킹 할 노즐의 끝에서부터의 거리 " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_temp_enabled label" +msgid "Enable Nozzle Temperature Control" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_temp_enabled description" +msgid "Whether to control temperature from Cura. Turn this off to control nozzle temperature from outside of Cura." +msgstr "Cura에서 온도를 제어할지 여부. Cura 외부에서 노즐 온도를 제어하려면이 기능을 끄십시오 " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_heat_up_speed label" +msgid "Heat up speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_heat_up_speed description" +msgid "The speed (°C/s) by which the nozzle heats up averaged over the window of normal printing temperatures and the standby temperature." +msgstr "노즐이 가열되는 속도 (° C / s)는 일반적인 인쇄 온도와 대기 온도의 창에서 평균을냅니다. " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_cool_down_speed label" +msgid "Cool down speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_cool_down_speed description" +msgid "The speed (°C/s) by which the nozzle cools down averaged over the window of normal printing temperatures and the standby temperature." +msgstr "노즐이 냉각되는 속도 (° C / s)는 일반적인 인쇄 온도 및 대기 온도의 창에서 평균화됩니다. " + +#: fdmprinter.def.json +msgctxt "machine_min_cool_heat_time_window label" +msgid "Minimal Time Standby Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_min_cool_heat_time_window description" +msgid "The minimal time an extruder has to be inactive before the nozzle is cooled. Only when an extruder is not used for longer than this time will it be allowed to cool down to the standby temperature." +msgstr "노즐이 냉각되기 전에 압출기가 비활성이어야하는 최소 시간. 이 시간보다 오래 압출기를 사용하지 않을 경우에만 대기 온도로 냉각시킬 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor label" +msgid "Gcode flavour" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor description" +msgid "The type of gcode to be generated." +msgstr "생성 될 gcode 유형입니다. " + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option RepRap (Marlin/Sprinter)" +msgid "RepRap (Marlin/Sprinter)" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option RepRap (Volumatric)" +msgid "RepRap (Volumetric)" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option UltiGCode" +msgid "Ultimaker 2" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Griffin" +msgid "Griffin" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Makerbot" +msgid "Makerbot" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option BFB" +msgid "Bits from Bytes" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option MACH3" +msgid "Mach3" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_gcode_flavor option Repetier" +msgid "Repetier" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_disallowed_areas label" +msgid "Disallowed areas" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_disallowed_areas description" +msgid "A list of polygons with areas the print head is not allowed to enter." +msgstr "인쇄 헤드가있는 영역이있는 다각형 목록입니다. " + +#: fdmprinter.def.json +msgctxt "nozzle_disallowed_areas label" +msgid "Nozzle Disallowed Areas" +msgstr "" + +#: fdmprinter.def.json +msgctxt "nozzle_disallowed_areas description" +msgid "A list of polygons with areas the nozzle is not allowed to enter." +msgstr "노즐이 들어갈 수없는 영역이있는 다각형 목록입니다. " + +#: fdmprinter.def.json +msgctxt "machine_head_polygon label" +msgid "Machine head polygon" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_head_polygon description" +msgid "A 2D silhouette of the print head (fan caps excluded)." +msgstr "프린트 헤드의 2D 실루엣 (팬 캡 제외). " + +#: fdmprinter.def.json +msgctxt "machine_head_with_fans_polygon label" +msgid "Machine head & Fan polygon" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_head_with_fans_polygon description" +msgid "A 2D silhouette of the print head (fan caps included)." +msgstr "프린트 헤드의 2D 실루엣 (팬 뚜껑 포함). " + +#: fdmprinter.def.json +msgctxt "gantry_height label" +msgid "Gantry height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "gantry_height description" +msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes)." +msgstr "노즐 끝과 갠트리 시스템 사이의 높이 차이 (X 및 Y 축). " + +#: fdmprinter.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "노즐의 내경. 비표준 노즐 크기를 사용할 때이 설정을 변경하십시오. " + +#: fdmprinter.def.json +msgctxt "machine_use_extruder_offset_to_offset_coords label" +msgid "Offset With Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_use_extruder_offset_to_offset_coords description" +msgid "Apply the extruder offset to the coordinate system." +msgstr "압출기 오프셋을 좌표계에 적용하십시오. " + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_z label" +msgid "Extruder Prime Z Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_z description" +msgid "The Z coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝나는 위치의 Z 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_abs label" +msgid "Absolute Extruder Prime Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_abs description" +msgid "Make the extruder prime position absolute rather than relative to the last-known location of the head." +msgstr "헤드의 마지막으로 알려진 위치에 상대적이 아닌 압출기의 주요 위치를 절대 위치로 만듭니다. " + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_x label" +msgid "Maximum Speed X" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_x description" +msgid "The maximum speed for the motor of the X-direction." +msgstr "X 방향의 모터 최대 속도입니다." + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_y label" +msgid "Maximum Speed Y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_y description" +msgid "The maximum speed for the motor of the Y-direction." +msgstr "Y 방향 모터의 최대 속도입니다." + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_z label" +msgid "Maximum Speed Z" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_z description" +msgid "The maximum speed for the motor of the Z-direction." +msgstr "Z 방향의 모터 최대 속도입니다. " + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_e label" +msgid "Maximum Feedrate" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_feedrate_e description" +msgid "The maximum speed of the filament." +msgstr "필라멘트의 최대 속도. " + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_x label" +msgid "Maximum Acceleration X" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_x description" +msgid "Maximum acceleration for the motor of the X-direction" +msgstr "X 방향 모터의 최대 가속도. " + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_y label" +msgid "Maximum Acceleration Y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_y description" +msgid "Maximum acceleration for the motor of the Y-direction." +msgstr "Y 방향 모터의 최대 가속도. " + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_z label" +msgid "Maximum Acceleration Z" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_z description" +msgid "Maximum acceleration for the motor of the Z-direction." +msgstr "Z 방향 모터의 최대 가속도. " + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_e label" +msgid "Maximum Filament Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_acceleration_e description" +msgid "Maximum acceleration for the motor of the filament." +msgstr "필라멘트의 모터에 대한 최대 가속도. " + +#: fdmprinter.def.json +msgctxt "machine_acceleration label" +msgid "Default Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_acceleration description" +msgid "The default acceleration of print head movement." +msgstr "프린트 헤드 이동의 기본 가속. " + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_xy label" +msgid "Default X-Y Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_xy description" +msgid "Default jerk for movement in the horizontal plane." +msgstr "수평면에서의 이동을위한 기본 저크. " + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_z label" +msgid "Default Z Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_z description" +msgid "Default jerk for the motor of the Z-direction." +msgstr "Z 방향 모터의 기본 저크. " + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_e label" +msgid "Default Filament Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_max_jerk_e description" +msgid "Default jerk for the motor of the filament." +msgstr "필라멘트 모터의 기본 저크. " + +#: fdmprinter.def.json +msgctxt "machine_minimum_feedrate label" +msgid "Minimum Feedrate" +msgstr "" + +#: fdmprinter.def.json +msgctxt "machine_minimum_feedrate description" +msgid "The minimal movement speed of the print head." +msgstr "프린트 헤드의 최소 이동 속도. " + +#: fdmprinter.def.json +msgctxt "resolution label" +msgid "Quality" +msgstr "" + +#: fdmprinter.def.json +msgctxt "resolution description" +msgid "All settings that influence the resolution of the print. These settings have a large impact on the quality (and print time)" +msgstr "인쇄물의 해상도에 영향을 미치는 모든 설정. 이러한 설정은 품질 (및 인쇄 시간)에 큰 영향을 미칩니다. " + +#: fdmprinter.def.json +msgctxt "layer_height label" +msgid "Layer Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "layer_height description" +msgid "The height of each layer in mm. Higher values produce faster prints in lower resolution, lower values produce slower prints in higher resolution." +msgstr "각 층의 높이 (mm)입니다. 값이 높을수록 해상도가 낮을수록 인쇄 속도가 빨라지고 값이 낮을수록 해상도가 높을수록 인쇄 속도가 느려집니다. " + +#: fdmprinter.def.json +msgctxt "layer_height_0 label" +msgid "Initial Layer Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "layer_height_0 description" +msgid "The height of the initial layer in mm. A thicker initial layer makes adhesion to the build plate easier." +msgstr "초기 레이어의 높이 (mm)입니다. 두꺼운 초기 레이어는 빌드 플레이트에 쉽게 접착합니다. " + +#: fdmprinter.def.json +msgctxt "line_width label" +msgid "Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "line_width description" +msgid "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints." +msgstr "한 줄의 너비. 일반적으로 각 라인의 너비는 노즐 폭과 일치해야합니다. 그러나이 값을 약간 줄이면 더 좋은 인 쇄를 생성 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "wall_line_width label" +msgid "Wall Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_line_width description" +msgid "Width of a single wall line." +msgstr "단일 벽 선의 너비입니다. " + +#: fdmprinter.def.json +msgctxt "wall_line_width_0 label" +msgid "Outer Wall Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_line_width_0 description" +msgid "Width of the outermost wall line. By lowering this value, higher levels of detail can be printed." +msgstr "가장 바깥 쪽 벽 선의 너비. 이 값을 낮춤으로써 높은 수준의 디테일을 인쇄 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "wall_line_width_x label" +msgid "Inner Wall(s) Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_line_width_x description" +msgid "Width of a single wall line for all wall lines except the outermost one." +msgstr "가장 바깥 쪽 벽 선을 제외한 모든 벽 선에 대해 단일 벽 선의 폭입니다. " + +#: fdmprinter.def.json +msgctxt "skin_line_width label" +msgid "Top/Bottom Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_line_width description" +msgid "Width of a single top/bottom line." +msgstr "단일 위쪽 / 아래쪽 선의 너비입니다. " + +#: fdmprinter.def.json +msgctxt "infill_line_width label" +msgid "Infill Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_line_width description" +msgid "Width of a single infill line." +msgstr "단일 infill 라인의 너비. " + +#: fdmprinter.def.json +msgctxt "skirt_brim_line_width label" +msgid "Skirt/Brim Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skirt_brim_line_width description" +msgid "Width of a single skirt or brim line." +msgstr "단일 스커트 또는 고리 선의 너비. " + +#: fdmprinter.def.json +msgctxt "support_line_width label" +msgid "Support Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_line_width description" +msgid "Width of a single support structure line." +msgstr "단일 지원 구조 선의 너비입니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_line_width label" +msgid "Support Interface Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_line_width description" +msgid "Width of a single line of support roof or floor." +msgstr "지붕 또는 바닥을지지하는 한 줄의 폭. " + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "단일 지원 지붕 선의 너비. " + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "단일 지원 플로어 라인의 너비. " + +#: fdmprinter.def.json +msgctxt "prime_tower_line_width label" +msgid "Prime Tower Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_line_width description" +msgid "Width of a single prime tower line." +msgstr "단일 주요 타워 선의 너비. " + +#: fdmprinter.def.json +msgctxt "shell label" +msgid "Shell" +msgstr "" + +#: fdmprinter.def.json +msgctxt "shell description" +msgid "Shell" +msgstr "껍질 " + +#: fdmprinter.def.json +msgctxt "wall_thickness label" +msgid "Wall Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_thickness description" +msgid "The thickness of the outside walls in the horizontal direction. This value divided by the wall line width defines the number of walls." +msgstr "외벽의 수평 방향의 두께. 이 값을 벽 선 너비로 나눈 값은 벽의 수를 정의합니다. " + +#: fdmprinter.def.json +msgctxt "wall_line_count label" +msgid "Wall Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_line_count description" +msgid "The number of walls. When calculated by the wall thickness, this value is rounded to a whole number." +msgstr "벽의 수. 벽 두께로 계산할 때이 값은 정수로 반올림됩니다. " + +#: fdmprinter.def.json +msgctxt "wall_0_wipe_dist label" +msgid "Outer Wall Wipe Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_0_wipe_dist description" +msgid "Distance of a travel move inserted after the outer wall, to hide the Z seam better." +msgstr "바깥 쪽 벽 뒤에 삽입 된 이동 거리. Z 솔기를 더 잘 숨 깁니다. " + +#: fdmprinter.def.json +msgctxt "top_bottom_thickness label" +msgid "Top/Bottom Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_thickness description" +msgid "The thickness of the top/bottom layers in the print. This value divided by the layer height defines the number of top/bottom layers." +msgstr "인쇄물의 상단 / 하단 레이어의 두께. 이 값을 레이어 높이로 나눈 값은 위쪽 / 아래쪽 레이어의 수를 정의합니다. " + +#: fdmprinter.def.json +msgctxt "top_thickness label" +msgid "Top Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_thickness description" +msgid "The thickness of the top layers in the print. This value divided by the layer height defines the number of top layers." +msgstr "인쇄물의 상단 레이어의 두께입니다. 이 값을 레이어 높이로 나눈 값은 최상위 레이어 수를 정의합니다. " + +#: fdmprinter.def.json +msgctxt "top_layers label" +msgid "Top Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_layers description" +msgid "The number of top layers. When calculated by the top thickness, this value is rounded to a whole number." +msgstr "인쇄물의 상단 레이어의 두께입니다. 이 값과 레이어 값을 최상위 레이어로 정의하십시오. " + +#: fdmprinter.def.json +msgctxt "bottom_thickness label" +msgid "Bottom Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "bottom_thickness description" +msgid "The thickness of the bottom layers in the print. This value divided by the layer height defines the number of bottom layers." +msgstr "인쇄물의 아래쪽 레이어의 두께입니다. 이 값을 레이어 높이로 나눈 값은 맨 아래 레이어의 수를 정의합니다. " + +#: fdmprinter.def.json +msgctxt "bottom_layers label" +msgid "Bottom Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "bottom_layers description" +msgid "The number of bottom layers. When calculated by the bottom thickness, this value is rounded to a whole number." +msgstr "아래층의 수. 바닥 두께로 계산할 때이 값은 정수로 반올림됩니다. " + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern label" +msgid "Top/Bottom Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern description" +msgid "The pattern of the top/bottom layers." +msgstr "상단 / 하단 레이어의 패턴. " + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 label" +msgid "Bottom Pattern Initial Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 description" +msgid "The pattern on the bottom of the print on the first layer." +msgstr "첫 번째 레이어의 인쇄 아래쪽에있는 패턴입니다. " + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "top_bottom_pattern_0 option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_angles label" +msgid "Top/Bottom Line Directions" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_angles description" +msgid "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)." +msgstr "상단 / 하단 레이어가 선 또는 지그재그 패턴을 사용할 때 사용할 정수선 방향 목록입니다. 목록의 요소는 레이어가 진행됨에 따라 순차적으로 사용되며 목록의 끝에 도달하면 처음부터 다시 시작됩니다. 목록 항목은 쉼표로 구분되며 전체 목록은 대괄호 안에 들어 있습니다. 기본값은 전통적인 기본 각도 (45도 및 135도)를 사용하는 빈 목록입니다. " + +#: fdmprinter.def.json +msgctxt "wall_0_inset label" +msgid "Outer Wall Inset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wall_0_inset description" +msgid "Inset applied to the path of the outer wall. If the outer wall is smaller than the nozzle, and printed after the inner walls, use this offset to get the hole in the nozzle to overlap with the inner walls instead of the outside of the model." +msgstr "외벽의 경로에 삽입이 적용됩니다. 외벽이 노즐보다 작고 내벽 다음에 인쇄 된 경우이 옵셋을 사용하여 노즐의 구멍이 모델 외부가 아닌 내벽과 겹치도록하십시오. " + +#: fdmprinter.def.json +msgctxt "outer_inset_first label" +msgid "Outer Before Inner Walls" +msgstr "" + +#: fdmprinter.def.json +msgctxt "outer_inset_first description" +msgid "Prints walls in order of outside to inside when enabled. This can help improve dimensional accuracy in X and Y when using a high viscosity plastic like ABS; however it can decrease outer surface print quality, especially on overhangs." +msgstr "사용 가능한 경우 외부에서 내부로 벽을 인쇄합니다. 이것은 ABS와 같은 고점도 플라스틱을 사용할 때 X와 Y의 치수 정확도를 향상시키는 데 도움이됩니다. 그러나 외 표면 인쇄 품질을 떨어 뜨릴 수 있습니다 (특히 오버행시). " + +#: fdmprinter.def.json +msgctxt "alternate_extra_perimeter label" +msgid "Alternate Extra Wall" +msgstr "" + +#: fdmprinter.def.json +msgctxt "alternate_extra_perimeter description" +msgid "Prints an extra wall at every other layer. This way infill gets caught between these extra walls, resulting in stronger prints." +msgstr "다른 모든 레이어에 여분의 벽을 인쇄합니다. 이렇게하면 충전물이이 여분의 벽 사이에 끼어 더 강하게 인쇄됩니다. " + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_enabled label" +msgid "Compensate Wall Overlaps" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_enabled description" +msgid "Compensate the flow for parts of a wall being printed where there is already a wall in place." +msgstr "이미 벽이있는 곳에 인쇄중인 벽의 부분에 대한 흐름을 보정하십시오. " + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_0_enabled label" +msgid "Compensate Outer Wall Overlaps" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_0_enabled description" +msgid "Compensate the flow for parts of an outer wall being printed where there is already a wall in place." +msgstr "이미 벽이있는 곳에 인쇄되는 외벽 부분에 대한 흐름을 보정합니다. " + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_x_enabled label" +msgid "Compensate Inner Wall Overlaps" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_compensate_overlapping_walls_x_enabled description" +msgid "Compensate the flow for parts of an inner wall being printed where there is already a wall in place." +msgstr "이미 벽이있는 곳에 인쇄되는 내부 벽 부분에 대한 흐름을 보정하십시오. " + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps label" +msgid "Fill Gaps Between Walls" +msgstr "" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps description" +msgid "Fills the gaps between walls where no walls fit." +msgstr "벽이 딱 맞지 않는 벽 사이의 간격을 채 웁니다. " + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps option nowhere" +msgid "Nowhere" +msgstr "" + +#: fdmprinter.def.json +msgctxt "fill_perimeter_gaps option everywhere" +msgid "Everywhere" +msgstr "" + +#: fdmprinter.def.json +msgctxt "xy_offset label" +msgid "Horizontal Expansion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "xy_offset description" +msgid "Amount of offset applied to all polygons in each layer. Positive values can compensate for too big holes; negative values can compensate for too small holes." +msgstr "각 레이어의 모든 다각형에 적용된 오프셋의 양입니다. 양수 값은 너무 큰 구멍을 보완 할 수 있습니다. 음수 값은 너무 작은 구멍을 보완 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "z_seam_type label" +msgid "Z Seam Alignment" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_type description" +msgid "Starting point of each path in a layer. When paths in consecutive layers start at the same point a vertical seam may show on the print. When aligning these near a user specified location, the seam is easiest to remove. When placed randomly the inaccuracies at the paths' start will be less noticeable. When taking the shortest path the print will be quicker." +msgstr "레이어의 각 패스의 시작점입니다. 연속 레이어의 패스가 같은 지점에서 시작되면 세로 솔기가 인쇄물에 표시 될 수 있습니다. 사용자 지정 위치 근처에서 이들을 정렬 할 때 이음선을 제거하는 것이 가장 쉽습니다. 무작위로 배치 될 때 경로 시작시 부정확성은 눈에 띄지 않습니다. 최단 경로를 취할 때 인쇄가 빨라집니다. " + +#: fdmprinter.def.json +msgctxt "z_seam_type option back" +msgid "User Specified" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_type option shortest" +msgid "Shortest" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_type option random" +msgid "Random" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_x label" +msgid "Z Seam X" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_x description" +msgid "The X coordinate of the position near where to start printing each part in a layer." +msgstr "레이어의 각 파트 인쇄를 시작할 위치 근처의 X 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "z_seam_y label" +msgid "Z Seam Y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "z_seam_y description" +msgid "The Y coordinate of the position near where to start printing each part in a layer." +msgstr "레이어의 각 부분을 인쇄 할 위치 근처의 위치에 대한 Y 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "skin_no_small_gaps_heuristic label" +msgid "Ignore Small Z Gaps" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_no_small_gaps_heuristic description" +msgid "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." +msgstr "모델에 수직 간격이 작 으면이 좁은 공간에서 상단 및 하단 스킨을 생성하는 데 약 5 %의 추가 계산 시간을 소비 할 수 있습니다. 이 경우 설정을 해제하십시오. " + +#: fdmprinter.def.json +msgctxt "infill label" +msgid "Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill description" +msgid "Infill" +msgstr "충진 " + +#: fdmprinter.def.json +msgctxt "infill_sparse_density label" +msgid "Infill Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_sparse_density description" +msgid "Adjusts the density of infill of the print." +msgstr "인쇄물의 충진율를 조절합니다." + +#: fdmprinter.def.json +msgctxt "infill_line_distance label" +msgid "Infill Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_line_distance description" +msgid "Distance between the printed infill lines. This setting is calculated by the infill density and the infill line width." +msgstr "인쇄 된 충진 선 사이의 거리. 이 설정은 충전 밀도 및 충전 선 너비로 계산됩니다. " + +#: fdmprinter.def.json +msgctxt "infill_pattern label" +msgid "Infill Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern description" +msgid "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, cubic, tetrahedral and concentric patterns are fully printed every layer. Cubic and tetrahedral infill change with every layer to provide a more equal distribution of strength over each direction." +msgstr "프린트의 충전재 패턴. 라인과 지그는 대체 층에서 스필 방향을 바꾸어 재료비를 줄입니다. 그리드, 삼각형, 큐빅, 사면체 및 동심원 패턴은 모든 레이어에 완전히 인쇄됩니다. 입방체 및 사면체 충전재는 각 방향마다 강도가 균등하게 분포되도록 모든 층을 변경합니다. " + +#: fdmprinter.def.json +msgctxt "infill_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cubic" +msgid "Cubic" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option cubicsubdiv" +msgid "Cubic Subdivision" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option tetrahedral" +msgid "Tetrahedral" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_angles label" +msgid "Infill Line Directions" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_angles description" +msgid "A list of integer line directions to use. 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 for the lines and zig zag patterns and 45 degrees for all other patterns)." +msgstr "사용할 정수선 방향 목록. 목록의 요소는 레이어가 진행됨에 따라 순차적으로 사용되며 목록의 끝에 도달하면 처음부터 다시 시작됩니다. 목록 항목은 쉼표로 구분되며 전체 목록은 대괄호 안에 들어 있습니다. 기본값은 전통적인 기본 각도 (선 및 지그재그 패턴의 경우 45 및 135도, 다른 모든 패턴의 경우 45도)를 사용한다는 의미의 빈 목록입니다. " + +#: fdmprinter.def.json +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "필라멘트가 물체 내부에서 혼란스럽게 뒤 틀릴 수 있도록 필러를 너무 자주 인쇄하십시오. 이렇게하면 인쇄 시간이 줄어들지 만 예측할 수없는 행동입니다. " + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "최대 각도 w.r.t. 나중에 스파게티가 채워질 영역에 대한 인쇄 내부의 Z 축. 이 값을 낮추면 모델의 각진 부분이 각 레이어에 채워집니다. " + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "상단에서 결합하여 채울 수있는 내부 공간의 최대 높이입니다. " + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "스파게티가 채워지는 벽의 오프셋. " + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "스파게티 주입 물의 밀도를 조정합니다. Infill Density는 스파게티 필링의 돌출 량이 아니라 채우기 패턴의 줄 간격 만 제어합니다. " + +#: fdmprinter.def.json +msgctxt "sub_div_rad_add label" +msgid "Cubic Subdivision Shell" +msgstr "" + +#: fdmprinter.def.json +msgctxt "sub_div_rad_add description" +msgid "An addition to the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to a thicker shell of small cubes near the boundary of the model." +msgstr "모델의 경계를 확인하기 위해 각 큐브의 중심에서 반경을 더하여이 큐브를 세분화할지 여부를 결정합니다. 값이 클수록 모델의 경계 근처에 작은 큐브가 더 두껍게 나옵니다. " + +#: fdmprinter.def.json +msgctxt "infill_overlap label" +msgid "Infill Overlap Percentage" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_overlap description" +msgid "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill." +msgstr "충진재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 충전재에 단단히 연결됩니다." + +#: fdmprinter.def.json +msgctxt "infill_overlap_mm label" +msgid "Infill Overlap" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_overlap_mm description" +msgid "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill." +msgstr "충진재와 벽 사이의 겹침 정도. 약간 겹치면 벽이 충전재에 단단히 연결됩니다. " + +#: fdmprinter.def.json +msgctxt "skin_overlap label" +msgid "Skin Overlap Percentage" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_overlap description" +msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin." +msgstr "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " + +#: fdmprinter.def.json +msgctxt "skin_overlap_mm label" +msgid "Skin Overlap" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_overlap_mm description" +msgid "The amount of overlap between the skin and the walls. A slight overlap allows the walls to connect firmly to the skin." +msgstr "피부와 벽 사이의 겹침 정도입니다. 약간 겹치면 벽이 피부에 단단히 연결됩니다. " + +#: fdmprinter.def.json +msgctxt "infill_wipe_dist label" +msgid "Infill Wipe Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_wipe_dist description" +msgid "Distance of a travel move inserted after every infill line, to make the infill stick to the walls better. This option is similar to infill overlap, but without extrusion and only on one end of the infill line." +msgstr "각 충진 라인 다음에 삽입 된 이동 이동 거리. infill 스틱을 벽에 더 잘 붙이게합니다. 이 옵션은 충전재 겹침과 유사하지만 압출이없고 충전 선의 한쪽 끝에서만 사용됩니다." + +#: fdmprinter.def.json +msgctxt "infill_sparse_thickness label" +msgid "Infill Layer Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_sparse_thickness description" +msgid "The thickness per layer of infill material. This value should always be a multiple of the layer height and is otherwise rounded." +msgstr "충진물 층의 두께. 이 값은 항상 레이어 높이의 배수 여야하며 반올림됩니다. " + +#: fdmprinter.def.json +msgctxt "gradual_infill_steps label" +msgid "Gradual Infill Steps" +msgstr "" + +#: fdmprinter.def.json +msgctxt "gradual_infill_steps description" +msgid "Number of times to reduce the infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Infill Density." +msgstr "상면 아래로 갈 때 충진 밀도를 반으로 줄이는 횟수입니다. 상단면에 더 가까운 영역은 충진율 농도가 더 높은 밀도를 갖습니다. " + +#: fdmprinter.def.json +msgctxt "gradual_infill_step_height label" +msgid "Gradual Infill Step Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "gradual_infill_step_height description" +msgid "The height of infill of a given density before switching to half the density." +msgstr "밀도의 절반으로 전환하기 전에 주어진 밀도의 infill 높이. " + +#: fdmprinter.def.json +msgctxt "infill_before_walls label" +msgid "Infill Before Walls" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_before_walls description" +msgid "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface." +msgstr "벽을 인쇄하기 전에 충진물을 인쇄하십시오. 벽을 먼저 인쇄하면 벽이 더 정확해질 수 있지만 돌출이 더 많이 인쇄됩니다. 충진재를 먼저 인쇄하면 더 튼튼한 벽이 생기지 만 충전물 패턴이 때로 표면을 통해 보일 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "min_infill_area label" +msgid "Minimum Infill Area" +msgstr "" + +#: fdmprinter.def.json +msgctxt "min_infill_area description" +msgid "Don't generate areas of infill smaller than this (use skin instead)." +msgstr "이보다 작은 충진물 영역을 생성하지 마십시오 (대신 스킨 사용). " + +#: fdmprinter.def.json +msgctxt "expand_skins_into_infill label" +msgid "Expand Skins Into Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_skins_into_infill description" +msgid "Expand skin areas of top and/or bottom skin of flat surfaces. By default, skins stop under the wall lines that surround infill but this can lead to holes appearing when the infill density is low. This setting extends the skins beyond the wall lines so that the infill on the next layer rests on skin." +msgstr "평면의 상단 및 / 또는 하단 스킨 영역을 확장합니다. 기본적으로 스필은 충진을 둘러싸는 벽 선 아래에서 멈 춥니 다. 그러나 이는 충진 밀도가 낮을 때 나타나는 구멍으로 이어질 수 있습니다. 이 설정은 스킨을 벽 선 너머로 확장하여 다음 레이어의 필이 피부에 놓 이도록합니다. " + +#: fdmprinter.def.json +msgctxt "expand_upper_skins label" +msgid "Expand Top Skins Into Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_upper_skins description" +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "상단 피부 영역 (위의 공기가있는 영역)을 확장하여 위의 충진물을 지탱하도록하십시오. " + +#: fdmprinter.def.json +msgctxt "expand_lower_skins label" +msgid "Expand Bottom Skins Into Infill" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_lower_skins description" +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "아래 피부 영역 (공기가있는 부분)을 확장하여 위와 아래의 충진층으로 고정시킵니다. " + +#: fdmprinter.def.json +msgctxt "expand_skins_expand_distance label" +msgid "Skin Expand Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "expand_skins_expand_distance description" +msgid "The distance the skins are expanded into the infill. The default distance is enough to bridge the gap between the infill lines and will stop holes appearing in the skin where it meets the wall when the infill density is low. A smaller distance will often be sufficient." +msgstr "스킨이 충진 될 거리입니다. 기본 거리는 충진 선 사이의 간격을 메우기에 충분하며 충진 밀도가 낮을 때 벽과 만나는 스킨에 나타나는 구멍을 막습니다. 거리가 짧으면 충분합니다. " + +#: fdmprinter.def.json +msgctxt "max_skin_angle_for_expansion label" +msgid "Maximum Skin Angle for Expansion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "max_skin_angle_for_expansion description" +msgid "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical." +msgstr "이 설정보다 큰 각도로 객체의 상단 및 / 또는 하단 표면은 위쪽 / 아래쪽 스킨이 확장되지 않습니다. 이렇게하면 모델 표면이 수직 경사가 거의 없을 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. \"0\" 도의 각도는 수평이며, 90 도의 각도는 수직입니다. " + +#: fdmprinter.def.json +msgctxt "min_skin_width_for_expansion label" +msgid "Minimum Skin Width for Expansion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "min_skin_width_for_expansion description" +msgid "Skin areas narrower than this are not expanded. This avoids expanding the narrow skin areas that are created when the model surface has a slope close to the vertical." +msgstr "이보다 좁은 스킨 영역은 확장되지 않습니다. 이렇게하면 모델 표면이 수직에 가까운 기울기를 가질 때 생성되는 좁은 스킨 영역을 확장하지 않아도됩니다. " + +#: fdmprinter.def.json +msgctxt "material label" +msgid "Material" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material description" +msgid "Material" +msgstr "재료 " + +#: fdmprinter.def.json +msgctxt "material_flow_dependent_temperature label" +msgid "Auto Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_flow_dependent_temperature description" +msgid "Change the temperature for each layer automatically with the average flow speed of that layer." +msgstr "해당 레이어의 평균 유속으로 각 레이어의 온도를 자동으로 변경하십시오. " + +#: fdmprinter.def.json +msgctxt "default_material_print_temperature label" +msgid "Default Printing Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "default_material_print_temperature description" +msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" +msgstr "인쇄에 사용되는 기본 온도입니다. 이것은 재료의 \"기본\"온도 여야합니다. 다른 모든 인쇄 온도는이 값을 기준으로 오프셋을 사용해야합니다. " + +#: fdmprinter.def.json +msgctxt "material_print_temperature label" +msgid "Printing Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_print_temperature description" +msgid "The temperature used for printing." +msgstr "인쇄에 사용되는 온도. " + +#: fdmprinter.def.json +msgctxt "material_print_temperature_layer_0 label" +msgid "Printing Temperature Initial Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_print_temperature_layer_0 description" +msgid "The temperature used for printing the first layer. Set at 0 to disable special handling of the initial layer." +msgstr "첫 번째 레이어 인쇄에 사용되는 온도입니다. 초기 레이어의 특수 처리를 사용하지 않으려면 \"0\"으로 설정합니다. " + +#: fdmprinter.def.json +msgctxt "material_initial_print_temperature label" +msgid "Initial Printing Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_initial_print_temperature description" +msgid "The minimal temperature while heating up to the Printing Temperature at which printing can already start." +msgstr "인쇄가 이미 시작될 수있는 인쇄 온도까지 가열하는 동안 최소 온도. " + +#: fdmprinter.def.json +msgctxt "material_final_print_temperature label" +msgid "Final Printing Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_final_print_temperature description" +msgid "The temperature to which to already start cooling down just before the end of printing." +msgstr "인쇄 종료 직전에 이미 냉각이 시작될 온도입니다. " + +#: fdmprinter.def.json +msgctxt "material_flow_temp_graph label" +msgid "Flow Temperature Graph" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_flow_temp_graph description" +msgid "Data linking material flow (in mm3 per second) to temperature (degrees Celsius)." +msgstr "데이터 흐름 (mm3 / 초) - 온도 (섭씨). " + +#: fdmprinter.def.json +msgctxt "material_extrusion_cool_down_speed label" +msgid "Extrusion Cool Down Speed Modifier" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_extrusion_cool_down_speed description" +msgid "The extra speed by which the nozzle cools while extruding. The same value is used to signify the heat up speed lost when heating up while extruding." +msgstr "압출하는 동안 노즐이 냉각되는 추가 속도. 압출하는 동안 가열 될 때 상실되는 열 상승 속도를 나타 내기 위해 동일한 값이 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "material_bed_temperature label" +msgid "Build Plate Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature description" +msgid "The temperature used for the heated build plate. If this is 0, the bed will not heat up for this print." +msgstr "가열 된 빌드 플레이트에 사용되는 온도. 이 값이 0이면이 인쇄물에 침대가 가열되지 않습니다. " + +#: fdmprinter.def.json +msgctxt "material_bed_temperature_layer_0 label" +msgid "Build Plate Temperature Initial Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_bed_temperature_layer_0 description" +msgid "The temperature used for the heated build plate at the first layer." +msgstr "첫 번째 레이어에서 가열 된 빌드 플레이트에 사용되는 온도. " + +#: fdmprinter.def.json +msgctxt "material_diameter label" +msgid "Diameter" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_diameter description" +msgid "Adjusts the diameter of the filament used. Match this value with the diameter of the used filament." +msgstr "사용 된 필라멘트의 직경을 조정합니다. 이 값을 사용 필라멘트의 직경과 일치시킵니다. " + +#: fdmprinter.def.json +msgctxt "material_flow label" +msgid "Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value." +msgstr "유량 보상 : 압출 된 재료의 양에이 값을 곱합니다. " + +#: fdmprinter.def.json +msgctxt "retraction_enable label" +msgid "Enable Retraction" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_enable description" +msgid "Retract the filament when the nozzle is moving over a non-printed area. " +msgstr "노즐이 인쇄되지 않은 영역 위로 움직일 때 필라멘트를 잡아 당깁니다. " + +#: fdmprinter.def.json +msgctxt "retract_at_layer_change label" +msgid "Retract at Layer Change" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retract_at_layer_change description" +msgid "Retract the filament when the nozzle is moving to the next layer." +msgstr "노즐이 다음 층으로 이동할 때 필라멘트를 후퇴시킵니다. " + +#: fdmprinter.def.json +msgctxt "retraction_amount label" +msgid "Retraction Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_amount description" +msgid "The length of material retracted during a retraction move." +msgstr "후퇴 이동 중에 수축 된 재료의 길이입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_speed label" +msgid "Retraction Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_speed description" +msgid "The speed at which the filament is retracted and primed during a retraction move." +msgstr "후퇴 이동 중에 필라멘트가 수축되고 프라이밍되는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_retract_speed label" +msgid "Retraction Retract Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_retract_speed description" +msgid "The speed at which the filament is retracted during a retraction move." +msgstr "후퇴 이동 중에 필라멘트가 후퇴하는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_prime_speed label" +msgid "Retraction Prime Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_prime_speed description" +msgid "The speed at which the filament is primed during a retraction move." +msgstr "후퇴 이동 중에 필라멘트가 프라이밍되는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_extra_prime_amount label" +msgid "Retraction Extra Prime Amount" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_extra_prime_amount description" +msgid "Some material can ooze away during a travel move, which can be compensated for here." +msgstr "여행 중에 이동할 수있는 물질이 있습니다.이 물질은 여기에서 보상받을 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "retraction_min_travel label" +msgid "Retraction Minimum Travel" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_min_travel description" +msgid "The minimum distance of travel needed for a retraction to happen at all. This helps to get fewer retractions in a small area." +msgstr "수축이 일어나기 위해 필요한 최소한의 이동 거리. 이렇게하면 작은 영역에서 더 적은 수축을 얻을 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "retraction_count_max label" +msgid "Maximum Retraction Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_count_max description" +msgid "This setting limits the number of retractions occurring within the minimum extrusion distance window. Further retractions within this window will be ignored. This avoids retracting repeatedly on the same piece of filament, as that can flatten the filament and cause grinding issues." +msgstr "이 설정은 최소 돌출 거리 창 내에서 발생하는 후퇴 수를 제한합니다. 이 창 내에서 더 이상의 철회는 무시됩니다. 이렇게하면 필라멘트를 평평하게하고 연삭 문제를 일으킬 수 있으므로 동일한 필라멘트에서 반복적으로 후퇴하지 않습니다. " + +#: fdmprinter.def.json +msgctxt "retraction_extrusion_window label" +msgid "Minimum Extrusion Distance Window" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_extrusion_window description" +msgid "The window in which the maximum retraction count is enforced. This value should be approximately the same as the retraction distance, so that effectively the number of times a retraction passes the same patch of material is limited." +msgstr "최대 후퇴 횟수가 시행되는 창입니다. 이 값은 수축 거리와 거의 같아야하므로 같은 수축 패치가 통과하는 횟수가 효과적으로 제한됩니다. " + +#: fdmprinter.def.json +msgctxt "material_standby_temperature label" +msgid "Standby Temperature" +msgstr "" + +#: fdmprinter.def.json +msgctxt "material_standby_temperature description" +msgid "The temperature of the nozzle when another nozzle is currently used for printing." +msgstr "다른 노즐이 현재 인쇄에 사용되는 경우의 노즐 온도. " + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_amount label" +msgid "Nozzle Switch Retraction Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_amount description" +msgid "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone." +msgstr "수축 양 : 수축이 전혀없는 경우 0으로 설정합니다. 일반적으로 열 영역의 길이와 같아야합니다. " + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speeds label" +msgid "Nozzle Switch Retraction Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speeds description" +msgid "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding." +msgstr "필라멘트가 수축되는 속도입니다. 후퇴 속도가 빠르면 빠르지 만 후퇴 속도가 높으면 필라멘트 연삭으로 이어질 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speed label" +msgid "Nozzle Switch Retract Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "switch_extruder_retraction_speed description" +msgid "The speed at which the filament is retracted during a nozzle switch retract." +msgstr "노즐 스위치가 들어갈 때 필라멘트가 후퇴하는 속도. " + +#: fdmprinter.def.json +msgctxt "switch_extruder_prime_speed label" +msgid "Nozzle Switch Prime Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "switch_extruder_prime_speed description" +msgid "The speed at which the filament is pushed back after a nozzle switch retraction." +msgstr "노즐 스위치 수축 후 필라멘트가 뒤로 밀리는 속도. " + +#: fdmprinter.def.json +msgctxt "speed label" +msgid "Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed description" +msgid "Speed" +msgstr "속도 " + +#: fdmprinter.def.json +msgctxt "speed_print label" +msgid "Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_print description" +msgid "The speed at which printing happens." +msgstr "인쇄 속도. " + +#: fdmprinter.def.json +msgctxt "speed_infill label" +msgid "Infill Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_infill description" +msgid "The speed at which infill is printed." +msgstr "충진물이 인쇄되는 속도. " + +#: fdmprinter.def.json +msgctxt "speed_wall label" +msgid "Wall Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_wall description" +msgid "The speed at which the walls are printed." +msgstr "벽이 인쇄되는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "speed_wall_0 label" +msgid "Outer Wall Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_wall_0 description" +msgid "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will affect quality in a negative way." +msgstr "가장 바깥 쪽 벽이 인쇄되는 속도입니다. 외벽을 더 낮은 속도로 인쇄하면 최종 피부 품질이 향상됩니다. 그러나 내벽 속도와 외벽 속도 사이에 큰 차이가있을 경우 부정적인 방식으로 품질에 영향을 미칩니다. " + +#: fdmprinter.def.json +msgctxt "speed_wall_x label" +msgid "Inner Wall Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_wall_x description" +msgid "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed." +msgstr "모든 내부 벽이 인쇄되는 속도입니다. 내벽을 외벽보다 빠르게 인쇄하면 인쇄 시간이 단축됩니다. 외벽 속도와 충전 속도 사이에서 이것을 설정하는 것이 효과적입니다. " + +#: fdmprinter.def.json +msgctxt "speed_topbottom label" +msgid "Top/Bottom Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_topbottom description" +msgid "The speed at which top/bottom layers are printed." +msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "speed_support label" +msgid "Support Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support description" +msgid "The speed at which the support structure is printed. Printing support at higher speeds can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing." +msgstr "지지 구조가 인쇄되는 속도입니다. 고속 인쇄 지원은 인쇄 시간을 크게 단축시킵니다. 지지 구조체의 표면 품질은 인쇄 후에 제거되므로 중요하지 않습니다. " + +#: fdmprinter.def.json +msgctxt "speed_support_infill label" +msgid "Support Infill Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_infill description" +msgid "The speed at which the infill of support is printed. Printing the infill at lower speeds improves stability." +msgstr "지지대의 충전물이 인쇄되는 속도. infill을 저속으로 인쇄하면 안정성이 향상됩니다. " + +#: fdmprinter.def.json +msgctxt "speed_support_interface label" +msgid "Support Interface Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_interface description" +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "지지대의 지붕과 바닥이 인쇄되는 속도. 인쇄 속도를 느리게하면 돌출 품질이 향상 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "지지대의 지붕이 인쇄되는 속도입니다. 인쇄 속도를 느리게하면 돌출 품질이 향상 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "지지대 바닥 인쇄 속도. 더 낮은 속도로 인쇄하면 모델 상단의 지지력이 향상됩니다. " + +#: fdmprinter.def.json +msgctxt "speed_prime_tower label" +msgid "Prime Tower Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_prime_tower description" +msgid "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal." +msgstr "프라임 타워가 인쇄되는 속도. 프라임 타워를 더 천천히 인쇄하면 다른 필라멘트 사이의 접착력이 차선적일 때보다 안정적으로 만들 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "speed_travel label" +msgid "Travel Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_travel description" +msgid "The speed at which travel moves are made." +msgstr "움직일때의 이동 속도." + +#: fdmprinter.def.json +msgctxt "speed_layer_0 label" +msgid "Initial Layer Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_layer_0 description" +msgid "The speed for the initial layer. A lower value is advised to improve adhesion to the build plate." +msgstr "초기 레이어의 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " + +#: fdmprinter.def.json +msgctxt "speed_print_layer_0 label" +msgid "Initial Layer Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_print_layer_0 description" +msgid "The speed of printing for the initial layer. A lower value is advised to improve adhesion to the build plate." +msgstr "초기 레이어의 인쇄 속도입니다. 빌드 플레이트에 대한 접착력을 향상 시키려면 낮은 값을 권합니다. " + +#: fdmprinter.def.json +msgctxt "speed_travel_layer_0 label" +msgid "Initial Layer Travel Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_travel_layer_0 description" +msgid "The speed of travel moves in the initial layer. A lower value is advised to prevent pulling previously printed parts away from the build plate. The value of this setting can automatically be calculated from the ratio between the Travel Speed and the Print Speed." +msgstr "이동 속도는 초기 레이어에서 이동합니다. 이전에 인쇄 된 부품을 빌드 플레이트에서 빼내는 것을 방지하려면 더 낮은 값을 권합니다. 이 설정의 값은 이동 속도와 인쇄 속도 사이의 비율로부터 자동으로 계산 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "skirt_brim_speed label" +msgid "Skirt/Brim Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skirt_brim_speed description" +msgid "The speed at which the skirt and brim are printed. Normally this is done at the initial layer speed, but sometimes you might want to print the skirt or brim at a different speed." +msgstr "스커트와 가장자리가 인쇄되는 속도입니다. 일반적으로 이것은 초기 레이어 속도에서 수행되지만 때로는 스커트 나 가장자리를 다른 속도로 인쇄하려고 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "max_feedrate_z_override label" +msgid "Maximum Z Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "max_feedrate_z_override description" +msgid "The maximum speed with which the build plate is moved. Setting this to zero causes the print to use the firmware defaults for the maximum z speed." +msgstr "빌드 플레이트가 움직이는 최대 속도. 이 값을 0으로 설정하면 인쇄시 최대 z 속도의 펌웨어 기본값이 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "speed_slowdown_layers label" +msgid "Number of Slower Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_slowdown_layers description" +msgid "The first few layers are printed slower than the rest of the model, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers." +msgstr "처음 몇 개의 레이어는 모델의 나머지 부분보다 느리게 인쇄되어 빌드 플레이트에 대한보다 나은 접착력을 얻고 인쇄물의 전체 성공률을 향상시킵니다. 속도는이 층 위로 점진적으로 증가합니다. " + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_enabled label" +msgid "Equalize Filament Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_enabled description" +msgid "Print thinner than normal lines faster so that the amount of material extruded per second remains the same. Thin pieces in your model might require lines printed with smaller line width than provided in the settings. This setting controls the speed changes for such lines." +msgstr "일반 라인보다 얇게 인쇄하여 초당 압출되는 재료의 양이 동일하게 유지되도록하십시오. 모델의 얇은 부분에는 설정에서 제공 한 것보다 작은 선 너비로 선이 인쇄되어야 할 수 있습니다. 이 설정은 이러한 선의 속도 변경을 제어합니다. " + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_max label" +msgid "Maximum Speed for Flow Equalization" +msgstr "" + +#: fdmprinter.def.json +msgctxt "speed_equalize_flow_max description" +msgid "Maximum print speed when adjusting the print speed in order to equalize flow." +msgstr "인쇄 속도를 조정할 때 최대 인쇄 속도로 흐름을 균등하게 유지합니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_enabled label" +msgid "Enable Acceleration Control" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_enabled description" +msgid "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality." +msgstr "프린트 헤드 가속도를 조정할 수 있습니다. 가속도를 높이면 인쇄 품질을 저하시키면서 인쇄 시간을 줄일 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_print label" +msgid "Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_print description" +msgid "The acceleration with which printing happens." +msgstr "인쇄 속도가 빨라집니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_infill label" +msgid "Infill Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_infill description" +msgid "The acceleration with which infill is printed." +msgstr "충진물이 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_wall label" +msgid "Wall Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_wall description" +msgid "The acceleration with which the walls are printed." +msgstr "벽이 가속되는 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_wall_0 label" +msgid "Outer Wall Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_0 description" +msgid "The acceleration with which the outermost walls are printed." +msgstr "가장 바깥 쪽 벽이 인쇄되는 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_wall_x label" +msgid "Inner Wall Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_wall_x description" +msgid "The acceleration with which all inner walls are printed." +msgstr "모든 내부 벽이 인쇄되는 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_topbottom label" +msgid "Top/Bottom Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_topbottom description" +msgid "The acceleration with which top/bottom layers are printed." +msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_support label" +msgid "Support Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support description" +msgid "The acceleration with which the support structure is printed." +msgstr "지지 구조가 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_support_infill label" +msgid "Support Infill Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_infill description" +msgid "The acceleration with which the infill of support is printed." +msgstr "지지대의 충전물이 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_support_interface label" +msgid "Support Interface Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_interface description" +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "지지대의 지붕과 바닥이 인쇄되는 가속도. 낮은 가속도로 인쇄하면 돌출 품질이 향상 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "지지대의 지붕이 인쇄되는 가속도. 낮은 가속도로 인쇄하면 돌출 품질이 향상 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "지면의 가속도가 인쇄됩니다. 보다 낮은 가속도로 인쇄하면 모델 상단에 지지력을 향상시킬 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_prime_tower label" +msgid "Prime Tower Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_prime_tower description" +msgid "The acceleration with which the prime tower is printed." +msgstr "프라임 타워가 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_travel label" +msgid "Travel Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_travel description" +msgid "The acceleration with which travel moves are made." +msgstr "여행이 움직이는 가속도가 만들어집니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_layer_0 label" +msgid "Initial Layer Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_layer_0 description" +msgid "The acceleration for the initial layer." +msgstr "초기 레이어의 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_print_layer_0 label" +msgid "Initial Layer Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_print_layer_0 description" +msgid "The acceleration during the printing of the initial layer." +msgstr "초기 레이어 인쇄 중 가속도. " + +#: fdmprinter.def.json +msgctxt "acceleration_travel_layer_0 label" +msgid "Initial Layer Travel Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_travel_layer_0 description" +msgid "The acceleration for travel moves in the initial layer." +msgstr "이동 가속도는 초기 레이어에서 이동합니다. " + +#: fdmprinter.def.json +msgctxt "acceleration_skirt_brim label" +msgid "Skirt/Brim Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "acceleration_skirt_brim description" +msgid "The acceleration with which the skirt and brim are printed. Normally this is done with the initial layer acceleration, but sometimes you might want to print the skirt or brim at a different acceleration." +msgstr "치마와 가장자리가 인쇄되는 가속도. 일반적으로 이것은 초기 레이어 가속으로 이루어 지지만 때로는 스커트 나 테두리를 다른 가속으로 인쇄하려고 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "jerk_enabled label" +msgid "Enable Jerk Control" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_enabled description" +msgid "Enables adjusting the jerk of print head when the velocity in the X or Y axis changes. Increasing the jerk can reduce printing time at the cost of print quality." +msgstr "X 또는 Y 축의 속도가 변경 될 때 프린트 헤드의 속도를 조정할 수 있습니다. 저크를 높이면 인쇄 품질을 저하시키면서 인쇄 시간을 줄일 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "jerk_print label" +msgid "Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_print description" +msgid "The maximum instantaneous velocity change of the print head." +msgstr "프린트 헤드의 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_infill label" +msgid "Infill Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_infill description" +msgid "The maximum instantaneous velocity change with which infill is printed." +msgstr "충진물이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_wall label" +msgid "Wall Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_wall description" +msgid "The maximum instantaneous velocity change with which the walls are printed." +msgstr "벽이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_wall_0 label" +msgid "Outer Wall Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_wall_0 description" +msgid "The maximum instantaneous velocity change with which the outermost walls are printed." +msgstr "가장 바깥 쪽 벽이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_wall_x label" +msgid "Inner Wall Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_wall_x description" +msgid "The maximum instantaneous velocity change with which all inner walls are printed." +msgstr "모든 내부 벽이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_topbottom label" +msgid "Top/Bottom Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_topbottom description" +msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." +msgstr "상단 / 하단 레이어가 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_support label" +msgid "Support Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support description" +msgid "The maximum instantaneous velocity change with which the support structure is printed." +msgstr "지지 구조가 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_support_infill label" +msgid "Support Infill Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_infill description" +msgid "The maximum instantaneous velocity change with which the infill of support is printed." +msgstr "지지대가 채워지는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_support_interface label" +msgid "Support Interface Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_interface description" +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "지지대의 지붕과 바닥이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "지지대의 지붕이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "지지대의 바닥이 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_prime_tower label" +msgid "Prime Tower Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_prime_tower description" +msgid "The maximum instantaneous velocity change with which the prime tower is printed." +msgstr "프라임 타워가 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_travel label" +msgid "Travel Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_travel description" +msgid "The maximum instantaneous velocity change with which travel moves are made." +msgstr "이동이 이동하는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_layer_0 label" +msgid "Initial Layer Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_layer_0 description" +msgid "The print maximum instantaneous velocity change for the initial layer." +msgstr "초기 레이어의 인쇄 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_print_layer_0 label" +msgid "Initial Layer Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_print_layer_0 description" +msgid "The maximum instantaneous velocity change during the printing of the initial layer." +msgstr "초기 층의 인쇄 중 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "jerk_travel_layer_0 label" +msgid "Initial Layer Travel Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_travel_layer_0 description" +msgid "The acceleration for travel moves in the initial layer." +msgstr "이동 가속도는 초기 레이어에서 이동합니다. " + +#: fdmprinter.def.json +msgctxt "jerk_skirt_brim label" +msgid "Skirt/Brim Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "jerk_skirt_brim description" +msgid "The maximum instantaneous velocity change with which the skirt and brim are printed." +msgstr "스커트와 고리가 인쇄되는 최대 순간 속도 변화. " + +#: fdmprinter.def.json +msgctxt "travel label" +msgid "Travel" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel description" +msgid "travel" +msgstr "이동 " + +#: fdmprinter.def.json +msgctxt "retraction_combing label" +msgid "Combing Mode" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_combing description" +msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only." +msgstr "빗질은 여행 할 때 이미 인쇄 된 영역 내에 노즐을 유지합니다. 이로 인해 여행 이동이 약간 더 길어 지지만 수축의 필요성은 줄어 듭니다. 빗질이 꺼져 있으면 재료가 후퇴하고 노즐이 직선으로 다음 점으로 이동합니다. 또한 infill 내에서만 빗질하여 상 / 하 피부 영역을 빗질하는 것을 피할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "retraction_combing option off" +msgid "Off" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_combing option all" +msgid "All" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_combing option noskin" +msgid "No Skin" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_retract_before_outer_wall label" +msgid "Retract Before Outer Wall" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_retract_before_outer_wall description" +msgid "Always retract when moving to start an outer wall." +msgstr "외벽을 시작하기 위해 이동할 때 항상 후퇴합니다. " + +#: fdmprinter.def.json +msgctxt "travel_avoid_other_parts label" +msgid "Avoid Printed Parts When Traveling" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_avoid_other_parts description" +msgid "The nozzle avoids already printed parts when traveling. This option is only available when combing is enabled." +msgstr "노즐은 여행 할 때 이미 인쇄 된 부품을 피합니다. 이 옵션은 빗질이 활성화 된 경우에만 사용할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "travel_avoid_distance label" +msgid "Travel Avoid Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "travel_avoid_distance description" +msgid "The distance between the nozzle and already printed parts when avoiding during travel moves." +msgstr "이동 중에 피할 때 노즐과 이미 인쇄 된 부분 사이의 거리. " + +#: fdmprinter.def.json +msgctxt "start_layers_at_same_position label" +msgid "Start Layers with the Same Part" +msgstr "" + +#: fdmprinter.def.json +msgctxt "start_layers_at_same_position description" +msgid "In each layer start with printing the object near the same point, so that we don't start a new layer with printing the piece which the previous layer ended with. This makes for better overhangs and small parts, but increases printing time." +msgstr "각 레이어에서 같은 지점 근처에 개체를 인쇄하는 것으로 시작하여 이전 레이어가 끝난 부분을 인쇄하여 새 레이어를 시작하지 마십시오. 이것은 오버행 (overhangs) 및 작은 부품을 개선하지만 인쇄 시간을 증가시킵니다. " + +#: fdmprinter.def.json +msgctxt "layer_start_x label" +msgid "Layer Start X" +msgstr "" + +#: fdmprinter.def.json +msgctxt "layer_start_x description" +msgid "The X coordinate of the position near where to find the part to start printing each layer." +msgstr "각 레이어의 인쇄를 시작할 부분을 찾을 위치 근처의 X 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "layer_start_y label" +msgid "Layer Start Y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "layer_start_y description" +msgid "The Y coordinate of the position near where to find the part to start printing each layer." +msgstr "각 레이어 인쇄를 시작할 부분을 찾을 위치 근처의 위치에 대한 Y 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_hop_enabled label" +msgid "Z Hop When Retracted" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_hop_enabled description" +msgid "Whenever a retraction is done, the build plate is lowered to create clearance between the nozzle and the print. It prevents the nozzle from hitting the print during travel moves, reducing the chance to knock the print from the build plate." +msgstr "수축이 완료 될 때마다 빌드 플레이트가 내려져 노즐과 인쇄물 사이에 여유 공간이 생깁니다. 이동 이동 중에 노즐이 인쇄물에 부딪치지 않도록하여 인쇄판을 노크 할 기회를 줄입니다. " + +#: fdmprinter.def.json +msgctxt "retraction_hop_only_when_collides label" +msgid "Z Hop Only Over Printed Parts" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_hop_only_when_collides description" +msgid "Only perform a Z Hop when moving over printed parts which cannot be avoided by horizontal motion by Avoid Printed Parts when Traveling." +msgstr "이동 시, 인쇄물을 피함으로써 수평 이동으로 피할 수없는 인쇄물 위로 이동할 때만 Z 홉을 수행하십시오." + +#: fdmprinter.def.json +msgctxt "retraction_hop label" +msgid "Z Hop Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_hop description" +msgid "The height difference when performing a Z Hop." +msgstr "Z 홉을 수행 할 때의 높이 차이. " + +#: fdmprinter.def.json +msgctxt "retraction_hop_after_extruder_switch label" +msgid "Z Hop After Extruder Switch" +msgstr "" + +#: fdmprinter.def.json +msgctxt "retraction_hop_after_extruder_switch description" +msgid "After the machine switched from one extruder to the other, the build plate is lowered to create clearance between the nozzle and the print. This prevents the nozzle from leaving oozed material on the outside of a print." +msgstr "기계가 하나의 압출기에서 다른 압출기로 전환 된 후, 빌드 플레이트가 하강되어 노즐과 인쇄물 사이에 간극이 생깁니다. 이렇게하면 노즐이 인쇄물의 외부에 흘러 나올 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "cooling label" +msgid "Cooling" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cooling description" +msgid "Cooling" +msgstr "냉각 " + +#: fdmprinter.def.json +msgctxt "cool_fan_enabled label" +msgid "Enable Print Cooling" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_enabled description" +msgid "Enables the print cooling fans while printing. The fans improve print quality on layers with short layer times and bridging / overhangs." +msgstr "인쇄 중에 인쇄 냉각 팬을 활성화합니다. 팬은 짧은 레이어 시간 및 브리징 / 오버행으로 레이어의 인쇄 품질을 향상시킵니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_speed label" +msgid "Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed description" +msgid "The speed at which the print cooling fans spin." +msgstr "인쇄 냉각 팬이 회전하는 속도입니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_min label" +msgid "Regular Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_min description" +msgid "The speed at which the fans spin before hitting the threshold. When a layer prints faster than the threshold, the fan speed gradually inclines towards the maximum fan speed." +msgstr "팬이 임계 값에 도달하기 전에 회전하는 속도입니다. 레이어가 임계 값보다 빠르게 인쇄되면 팬 속도가 최대 팬 속도쪽으로 점차 기울어집니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_max label" +msgid "Maximum Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_max description" +msgid "The speed at which the fans spin on the minimum layer time. The fan speed gradually increases between the regular fan speed and maximum fan speed when the threshold is hit." +msgstr "최소 레이어 시간에 팬이 회전하는 속도입니다. 임계 값에 도달하면 일반 팬 속도와 최대 팬 속도 사이에서 팬 속도가 서서히 증가합니다. " + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time_fan_speed_max label" +msgid "Regular/Maximum Fan Speed Threshold" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time_fan_speed_max description" +msgid "The layer time which sets the threshold between regular fan speed and maximum fan speed. Layers that print slower than this time use regular fan speed. For faster layers the fan speed gradually increases towards the maximum fan speed." +msgstr "정규 팬 속도와 최대 팬 속도 사이의 임계 값을 설정하는 레이어 시간입니다. 이 시간보다 느리게 인쇄되는 레이어는 일반 팬 속도를 사용합니다. 빠른 레이어의 경우 팬 속도가 최대 팬 속도쪽으로 점차 증가합니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_0 label" +msgid "Initial Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_speed_0 description" +msgid "The speed at which the fans spin at the start of the print. In subsequent layers the fan speed is gradually increased up to the layer corresponding to Regular Fan Speed at Height." +msgstr "인쇄 시작시 팬이 회전하는 속도입니다. 후속 레이어에서는 팬 속도가 높이의 일반 팬 속도에 해당하는 레이어까지 점차 증가합니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_full_at_height label" +msgid "Regular Fan Speed at Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_at_height description" +msgid "The height at which the fans spin on regular fan speed. At the layers below the fan speed gradually increases from Initial Fan Speed to Regular Fan Speed." +msgstr "일반 팬 속도로 팬이 회전하는 높이입니다. 아래의 레이어에서 팬 속도는 초기 팬 속도에서 정규 팬 속도로 점차 증가합니다. " + +#: fdmprinter.def.json +msgctxt "cool_fan_full_layer label" +msgid "Regular Fan Speed at Layer" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_fan_full_layer description" +msgid "The layer at which the fans spin on regular fan speed. If regular fan speed at height is set, this value is calculated and rounded to a whole number." +msgstr "팬이 일반 팬 속도로 회전하는 레이어입니다. 높이의 일반 팬 속도를 설정하면이 값이 계산되고 정수로 반올림됩니다. " + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time label" +msgid "Minimum Layer Time" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_min_layer_time description" +msgid "The minimum time spent in a layer. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer. Layers may still take shorter than the minimal layer time if Lift Head is disabled and if the Minimum Speed would otherwise be violated." +msgstr "레이어에 소요 된 최소 시간입니다. 이렇게하면 프린터가 느려지고 적어도 한 번에 여기에 설정된 시간을 소비하게됩니다. 이렇게하면 다음 레이어를 인쇄하기 전에 인쇄물을 적절히 냉각시킬 수 있습니다. 리프트 헤드가 비활성화되고 최소 속도가 위반되는 경우 레이어가 최소 레이어 시간보다 짧게 걸릴 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "cool_min_speed label" +msgid "Minimum Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_min_speed description" +msgid "The minimum print speed, despite slowing down due to the minimum layer time. When the printer would slow down too much, the pressure in the nozzle would be too low and result in bad print quality." +msgstr "최소 레이어 시간으로 인해 속도가 느려지 긴하지만 최소 인쇄 속도. 프린터의 속도가 너무 느려지면 노즐의 압력이 너무 낮아 인쇄 품질이 나빠질 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "cool_lift_head label" +msgid "Lift Head" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cool_lift_head description" +msgid "When the minimum speed is hit because of minimum layer time, lift the head away from the print and wait the extra time until the minimum layer time is reached." +msgstr "최소한의 레이어 시간으로 인해 최소 속도에 도달하면 헤드를 인쇄물에서 들어 올려 최소 레이어 시간에 도달 할 때까지 여분의 시간을 기다리십시오. " + +#: fdmprinter.def.json +msgctxt "support label" +msgid "Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support description" +msgid "Support" +msgstr "지지구조 " + +#: fdmprinter.def.json +msgctxt "support_enable label" +msgid "Generate Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_enable description" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "돌출부가있는 모델 부분을 지원하는 구조를 생성합니다. 이러한 구조가 없으면 이러한 부분이 인쇄 중에 붕괴됩니다. " + +#: fdmprinter.def.json +msgctxt "support_extruder_nr label" +msgid "Support Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr description" +msgid "The extruder train to use for printing the support. This is used in multi-extrusion." +msgstr "지지체 인쇄에 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_infill_extruder_nr label" +msgid "Support Infill Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_infill_extruder_nr description" +msgid "The extruder train to use for printing the infill of the support. This is used in multi-extrusion." +msgstr "지지대의 충전물을 인쇄하는 데 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_extruder_nr_layer_0 label" +msgid "First Layer Support Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_extruder_nr_layer_0 description" +msgid "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion." +msgstr "제 1 층의 지지체 충전 용 인쇄에 사용되는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_extruder_nr label" +msgid "Support Interface Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_extruder_nr description" +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "지지대의 지붕과 바닥을 인쇄 할 때 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "지지대의 지붕을 인쇄 할 때 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "지지대의 바닥을 인쇄하는 데 사용할 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "support_type label" +msgid "Support Placement" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_type description" +msgid "Adjusts the placement of the support structures. The placement can be set to touching build plate or everywhere. When set to everywhere the support structures will also be printed on the model." +msgstr "지지 구조의 배치를 조정합니다. 배치는 빌드 플레이트 또는 모든 곳을 터치하도록 설정할 수 있습니다. 모든 곳에 설정하면 모델에 지원 구조가 인쇄됩니다. " + +#: fdmprinter.def.json +msgctxt "support_type option buildplate" +msgid "Touching Buildplate" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_type option everywhere" +msgid "Everywhere" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_angle label" +msgid "Support Overhang Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_angle description" +msgid "The minimum angle of overhangs for which support is added. At a value of 0° all overhangs are supported, 90° will not provide any support." +msgstr "지원이 추가 된 오버행 각도의 최소값입니다. 0 °의 값에서 모든 돌출부가 지원되며 90 °는 지원하지 않습니다. " + +#: fdmprinter.def.json +msgctxt "support_pattern label" +msgid "Support Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern description" +msgid "The pattern of the support structures of the print. The different options available result in sturdy or easy to remove support." +msgstr "프린트의지지 구조의 패턴. 사용 가능한 여러 가지 옵션을 사용하면 튼튼하고 쉽게 제거 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_connect_zigzags label" +msgid "Connect Support ZigZags" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_connect_zigzags description" +msgid "Connect the ZigZags. This will increase the strength of the zig zag support structure." +msgstr "지그재그를 연결하십시오. 이것은 지그재그지지 구조의 강도를 증가시킵니다. " + +#: fdmprinter.def.json +msgctxt "support_infill_rate label" +msgid "Support Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_infill_rate description" +msgid "Adjusts the density of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "지지 구조의 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " + +#: fdmprinter.def.json +msgctxt "support_line_distance label" +msgid "Support Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_line_distance description" +msgid "Distance between the printed support structure lines. This setting is calculated by the support density." +msgstr "인쇄 된지지 구조 선 사이의 거리. 이 설정은 지원 밀도로 계산됩니다. " + +#: fdmprinter.def.json +msgctxt "support_z_distance label" +msgid "Support Z Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_z_distance description" +msgid "Distance from the top/bottom of the support structure to the print. This gap provides clearance to remove the supports after the model is printed. This value is rounded up to a multiple of the layer height." +msgstr "지지 구조의 위 / 아래에서 인쇄까지의 거리. 이 틈새는 모형 인쇄 후 지지대를 제거하기위한 공간을 제공합니다. 이 값은 레이어 높이의 배수로 반올림됩니다. " + +#: fdmprinter.def.json +msgctxt "support_top_distance label" +msgid "Support Top Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_top_distance description" +msgid "Distance from the top of the support to the print." +msgstr "지원 상단에서 인쇄까지의 거리. " + +#: fdmprinter.def.json +msgctxt "support_bottom_distance label" +msgid "Support Bottom Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_distance description" +msgid "Distance from the print to the bottom of the support." +msgstr "인쇄물에서 지지대의 바닥까지의 거리. " + +#: fdmprinter.def.json +msgctxt "support_xy_distance label" +msgid "Support X/Y Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_xy_distance description" +msgid "Distance of the support structure from the print in the X/Y directions." +msgstr "X / Y 방향에서 인쇄물로부터지지 구조까지의 거리. " + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z label" +msgid "Support Distance Priority" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z description" +msgid "Whether the Support X/Y Distance overrides the Support Z Distance or vice versa. When X/Y overrides Z the X/Y distance can push away the support from the model, influencing the actual Z distance to the overhang. We can disable this by not applying the X/Y distance around overhangs." +msgstr "지원 X / Y 거리가지지 Z 거리를 무시하는지 여부를 나타냅니다. X / Y가 Z를 오버라이드하면 X / Y 거리는 모델에서 지지점을 밀어내어 돌출부까지의 실제 Z 거리에 영향을 줄 수 있습니다. 오버행 주위에 X / Y 거리를 적용하지 않음으로써이 기능을 비활성화 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z option xy_overrides_z" +msgid "X/Y overrides Z" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_xy_overrides_z option z_overrides_xy" +msgid "Z overrides X/Y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_xy_distance_overhang label" +msgid "Minimum Support X/Y Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_xy_distance_overhang description" +msgid "Distance of the support structure from the overhang in the X/Y directions. " +msgstr "X / Y 방향에서 오버행으로부터지지 구조까지의 거리. " + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_height label" +msgid "Support Stair Step Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_height description" +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "모델에있는 지지대의 계단 모양 바닥의 계단 높이. 값이 낮 으면 지원을 제거하기가 어려워 지지만 값이 너무 높으면 불안정한 지원 구조가 생길 수 있습니다. 계단 모양의 동작을 해제하려면 0으로 설정하십시오. " + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "모델에있는 지지대의 계단 모양 바닥의 최대 폭. 값이 낮 으면 지원을 제거하기가 어려워 지지만 값이 너무 높으면 불안정한 지원 구조가 생길 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_join_distance label" +msgid "Support Join Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_join_distance description" +msgid "The maximum distance between support structures in the X/Y directions. When seperate structures are closer together than this value, the structures merge into one." +msgstr "X / Y 방향으로지지 구조물 사이의 최대 거리. 별도의 구조가이 값보다 가깝게 있으면 구조가 하나로 합쳐집니다. " + +#: fdmprinter.def.json +msgctxt "support_offset label" +msgid "Support Horizontal Expansion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_offset description" +msgid "Amount of offset applied to all support polygons in each layer. Positive values can smooth out the support areas and result in more sturdy support." +msgstr "각 레이어의 모든 지원 다각형에 적용된 오프셋의 양입니다. 양수 값을 사용하면 지원 영역이 원활 해지며보다 견고한 지원을받을 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_enable label" +msgid "Enable Support Interface" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_enable description" +msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." +msgstr "모델과 지원 사이에 조밀 한 인터페이스를 생성하십시오. 이렇게하면 모델이 인쇄 된 지원 맨 위의 스킨과 모델의 위에있는 지원 맨 아래에 스킨이 만들어집니다. " + +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "지지대 상단과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "지지대 바닥과 모델 사이에 조밀 한 슬래브를 생성하십시오. 그러면 모델과 지원 사이에 스킨이 만들어집니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_height label" +msgid "Support Interface Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_height description" +msgid "The thickness of the interface of the support where it touches with the model on the bottom or the top." +msgstr "밑면 또는 상단의 모델과 접촉하는 지지점의 인터페이스 두께입니다. " + +#: fdmprinter.def.json +msgctxt "support_roof_height label" +msgid "Support Roof Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_height description" +msgid "The thickness of the support roofs. This controls the amount of dense layers at the top of the support on which the model rests." +msgstr "받침 지붕의 두께. 이것은 모델이 놓이는 받침대 상단의 조밀 한 층의 양을 제어합니다. " + +#: fdmprinter.def.json +msgctxt "support_bottom_height label" +msgid "Support Floor Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_height description" +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "지지 층의 두께. 이것은 지지대가 놓여있는 모델의 상단에 인쇄되는 조밀 한 층의 수를 제어합니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_skip_height label" +msgid "Support Interface Resolution" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_skip_height description" +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "지원 모델의 위와 아래에 모델이 있는지 확인하려면 주어진 높이의 단계를 수행하십시오. 값이 낮을수록 슬라이스가 느려지고, 값이 높을수록 지원 인터페이스가 있어야하는 곳에서는 정상적인 지원이 인쇄 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_density label" +msgid "Support Interface Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_density description" +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "지지 구조의 지붕 및 바닥 밀도를 조정합니다. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " + +#: fdmprinter.def.json +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "지지 구조의 지붕의 밀도. 값이 높을수록 오버행이 좋아 지지만 지지체를 제거하기가 더 어렵습니다. " + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "인쇄 된 지붕 루프 사이의 거리. 이 설정은지지 지붕 밀도에 의해 계산되지만 별도로 조정할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "지지 구조체의 바닥 밀도. 값이 높을수록 지지대가 모델 위에 더 잘 접착됩니다. " + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "인쇄 된지지 플로어 사이의 거리. 이 설정은 Support Floor Density로 계산되지만 별도로 조정할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_pattern label" +msgid "Support Interface Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern description" +msgid "The pattern with which the interface of the support with the model is printed." +msgstr "모델과 지원 인터페이스를 인쇄하는 패턴입니다. " + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_interface_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "지지대의 지붕이 인쇄되는 패턴. " + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "받침대의 바닥이 인쇄되는 패턴. " + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_use_towers label" +msgid "Use Towers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_use_towers description" +msgid "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof." +msgstr "작은 돌출 부분을 지원하기 위해 특수한 탑을 사용하십시오. 이 타워들은 그들이 지원하는 지역보다 더 큰 지름을 가지고 있습니다. 오버행 부근에서 타워의 직경이 감소하여 지붕을 형성합니다. " + +#: fdmprinter.def.json +msgctxt "support_tower_diameter label" +msgid "Tower Diameter" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_tower_diameter description" +msgid "The diameter of a special tower." +msgstr "특수 타워의 지름. " + +#: fdmprinter.def.json +msgctxt "support_minimal_diameter label" +msgid "Minimum Diameter" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_minimal_diameter description" +msgid "Minimum diameter in the X/Y directions of a small area which is to be supported by a specialized support tower." +msgstr "특수 지지대에 의해지지 될 작은 영역의 X / Y 방향의 최소 직경. " + +#: fdmprinter.def.json +msgctxt "support_tower_roof_angle label" +msgid "Tower Roof Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_tower_roof_angle description" +msgid "The angle of a rooftop of a tower. A higher value results in pointed tower roofs, a lower value results in flattened tower roofs." +msgstr "타워 옥상의 각도입니다. 높은 값을 지정하면 뾰족한 타워 지붕이되고, 값이 낮을수록 평평한 타워 지붕이됩니다. " + +#: fdmprinter.def.json +msgctxt "platform_adhesion label" +msgid "Build Plate Adhesion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "platform_adhesion description" +msgid "Adhesion" +msgstr "부착 " + +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "인쇄하기 전에 얼룩으로 필라멘트를 프라이밍할지 여부. 이 설정을 켜면 인쇄하기 전에 압출기가 노즐에서 재료를 준비 할 수 있습니다. 가장자리 또는 스커트 인쇄는 프라이밍처럼 작동 할 수 있습니다.이 경우이 설정을 해제하면 시간이 절약됩니다. " + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_x label" +msgid "Extruder Prime X Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_x description" +msgid "The X coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 X 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_y label" +msgid "Extruder Prime Y Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "extruder_prime_pos_y description" +msgid "The Y coordinate of the position where the nozzle primes at the start of printing." +msgstr "인쇄가 시작될 때 노즐이 끝내는 위치의 Y 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "adhesion_type label" +msgid "Build Plate Adhesion Type" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_type description" +msgid "Different options that help to improve both priming your extrusion and adhesion to the build plate. Brim adds a single layer flat area around the base of your model to prevent warping. Raft adds a thick grid with a roof below the model. Skirt is a line printed around the model, but not connected to the model." +msgstr "귀하의 압출 및 빌드 플레이트에 대한 접착력을 향상시키는 데 도움이되는 다양한 옵션. 브림은 뒤틀림을 방지하기 위해 모델 바닥 주위에 단층 평면 영역을 추가합니다. 래프트는 모델 아래에 지붕이있는 두꺼운 격자를 추가합니다. 치마는 모델 주변에 인쇄 된 선이지만 모델에는 연결되어 있지 않습니다. " + +#: fdmprinter.def.json +msgctxt "adhesion_type option skirt" +msgid "Skirt" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_type option brim" +msgid "Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_type option raft" +msgid "Raft" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_type option none" +msgid "None" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_extruder_nr label" +msgid "Build Plate Adhesion Extruder" +msgstr "" + +#: fdmprinter.def.json +msgctxt "adhesion_extruder_nr description" +msgid "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion." +msgstr "스커트 / 가장자리 / 래프트 인쇄에 사용하는 압출기 트레인. 이것은 다중 압출에 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "skirt_line_count label" +msgid "Skirt Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skirt_line_count description" +msgid "Multiple skirt lines help to prime your extrusion better for small models. Setting this to 0 will disable the skirt." +msgstr "여러 개의 스커트 라인을 사용하여 작은 모델에 더 잘 압출 성형 할 수 있습니다. 이것을 \"0\"으로 설정하면 스커트가 비활성화됩니다. " + +#: fdmprinter.def.json +msgctxt "skirt_gap label" +msgid "Skirt Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skirt_gap description" +msgid "" +"The horizontal distance between the skirt and the first layer of the print.\n" +"This is the minimum distance, multiple skirt lines will extend outwards from this distance." +msgstr "스커트와 인쇄물의 첫 번째 레이어 사이의 수평 거리입니다. 이것은 최소 거리이며, 여러 스커트 라인이이 거리에서 바깥쪽으로 확장됩니다. " + +#: fdmprinter.def.json +msgctxt "skirt_brim_minimal_length label" +msgid "Skirt/Brim Minimum Length" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skirt_brim_minimal_length description" +msgid "The minimum length of the skirt or brim. If this length is not reached by all skirt or brim lines together, more skirt or brim lines will be added until the minimum length is reached. Note: If the line count is set to 0 this is ignored." +msgstr "스커트 또는 고리의 최소 길이. 이 길이에 모든 스커트 또는 브림 선이 모두 도달하지 않으면 최소 길이에 도달 할 때까지 더 많은 스커트 또는 브림 선이 추가됩니다. 참고 : 줄 수를 \"0\"으로 설정하면 무시됩니다." + +#: fdmprinter.def.json +msgctxt "brim_width label" +msgid "Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_width description" +msgid "The distance from the model to the outermost brim line. A larger brim enhances adhesion to the build plate, but also reduces the effective print area." +msgstr "모델에서 가장 바깥 쪽 가장자리까지의 거리입니다. 큰 테두리는 빌드 플레이트에 대한 접착력을 향상 시키지만 효과적인 인쇄 영역도 감소시킵니다. " + +#: fdmprinter.def.json +msgctxt "brim_line_count label" +msgid "Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_line_count description" +msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." +msgstr "가장자리에 사용되는 선의 수입니다. 더 많은 브림 선이 빌드 플레이트에 대한 접착력을 향상 시키지만 유효 프린트 영역도 감소시킵니다. " + +#: fdmprinter.def.json +msgctxt "brim_outside_only label" +msgid "Brim Only on Outside" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_outside_only description" +msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." +msgstr "모델 바깥 쪽 가장자리에만 인쇄하십시오. 이렇게하면 나중에 제거해야하는 가장자리의 양이 줄어들지 만 침대 접착력은 그렇게 많이 줄어들지 않습니다. " + +#: fdmprinter.def.json +msgctxt "raft_margin label" +msgid "Raft Extra Margin" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_margin description" +msgid "If the raft is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print." +msgstr "래프트가 활성화 된 경우 래프트가 주어진 모델 주변의 추가 뗏목 지역입니다. 이 여백을 늘리면 재료를 더 많이 사용하고 인쇄물을 적게 차지하면서 더 강력한 래프트가 만들어집니다. " + +#: fdmprinter.def.json +msgctxt "raft_airgap label" +msgid "Raft Air Gap" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_airgap description" +msgid "The gap between the final raft layer and the first layer of the model. Only the first layer is raised by this amount to lower the bonding between the raft layer and the model. Makes it easier to peel off the raft." +msgstr "최종 래프트 층과 모델의 첫 번째 층 사이의 틈새. 래프트 층과 모델 사이의 결합을 낮추기 위해이 양만큼 첫 번째 층만 올립니다. 래프트를 쉽게 떼어 낼 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "layer_0_z_overlap label" +msgid "Initial Layer Z Overlap" +msgstr "" + +#: fdmprinter.def.json +msgctxt "layer_0_z_overlap description" +msgid "Make the first and second layer of the model overlap in the Z direction to compensate for the filament lost in the airgap. All models above the first model layer will be shifted down by this amount." +msgstr "에어 갭에서 손실 된 필라멘트를 보완하기 위해 Z 방향으로 모델의 첫 번째와 두 번째 레이어가 중첩되도록하십시오. 첫 번째 모델 레이어 위의 모든 모델은이 양만큼 아래로 이동합니다 " + +#: fdmprinter.def.json +msgctxt "raft_surface_layers label" +msgid "Raft Top Layers" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_layers description" +msgid "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1." +msgstr "두 번째 래프트 레이어 맨 위에있는 최상위 레이어의 수입니다. 이것들은 모델이 위치하는 완전히 채워진 레이어입니다. 2 층은 1보다 부드러운 표면을 만듭니다. " + +#: fdmprinter.def.json +msgctxt "raft_surface_thickness label" +msgid "Raft Top Layer Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_thickness description" +msgid "Layer thickness of the top raft layers." +msgstr "상단 래프트 레이어의 레이어 두께. " + +#: fdmprinter.def.json +msgctxt "raft_surface_line_width label" +msgid "Raft Top Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_width description" +msgid "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth." +msgstr "래프트의 윗면에있는 선의 폭. 래프트의 상단이 매끄럽도록 얇은 선으로 구성 될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "raft_surface_line_spacing label" +msgid "Raft Top Spacing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_line_spacing description" +msgid "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid." +msgstr "상단 래프트 레이어에 대한 래프트 사이의 거리. 간격은 선 너비와 동일해야 표면이 단색입니다. " + +#: fdmprinter.def.json +msgctxt "raft_interface_thickness label" +msgid "Raft Middle Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_thickness description" +msgid "Layer thickness of the middle raft layer." +msgstr "중간 래프트 층의 층 두께. " + +#: fdmprinter.def.json +msgctxt "raft_interface_line_width label" +msgid "Raft Middle Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_width description" +msgid "Width of the lines in the middle raft layer. Making the second layer extrude more causes the lines to stick to the build plate." +msgstr "중간 래프트 층의 선폭. 두 번째 레이어를 더 돌출 시키면 선이 빌드 플레이트에 달라 붙습니다. " + +#: fdmprinter.def.json +msgctxt "raft_interface_line_spacing label" +msgid "Raft Middle Spacing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_line_spacing description" +msgid "The distance between the raft lines for the middle raft layer. The spacing of the middle should be quite wide, while being dense enough to support the top raft layers." +msgstr "중간 래프트 층에 대한 래프트 사이의 거리. 중간 틈새는 매우 넓어야하며 래프트 상부 층을지지 할만큼 충분히 촘촘해야합니다. " + +#: fdmprinter.def.json +msgctxt "raft_base_thickness label" +msgid "Raft Base Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_thickness description" +msgid "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate." +msgstr "기본 래프트 레이어의 레이어 두께. 이것은 프린터 빌드 플레이트에 단단히 붙어있는 두꺼운 층이어야합니다. " + +#: fdmprinter.def.json +msgctxt "raft_base_line_width label" +msgid "Raft Base Line Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_line_width description" +msgid "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion." +msgstr "기본 래프트 층에있는 선의 너비. 이것은 빌드 플레이트 접착을 돕기 위해 두꺼운 선이어야합니다. " + +#: fdmprinter.def.json +msgctxt "raft_base_line_spacing label" +msgid "Raft Line Spacing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_line_spacing description" +msgid "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate." +msgstr "기본 래프트 층에 대한 래프트 사이의 거리. 넓은 간격으로 빌드 플레이트에서 래프트를 쉽게 제거 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "raft_speed label" +msgid "Raft Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_speed description" +msgid "The speed at which the raft is printed." +msgstr "래프트가 인쇄되는 속도. " + +#: fdmprinter.def.json +msgctxt "raft_surface_speed label" +msgid "Raft Top Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_speed description" +msgid "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines." +msgstr "상단 래프트 레이어가 인쇄되는 속도입니다. 이 노즐은 조금 더 느리게 인쇄해야 노즐이 인접한 표면 선을 천천히 부드럽게 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "raft_interface_speed label" +msgid "Raft Middle Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_speed description" +msgid "The speed at which the middle raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high." +msgstr "중간 래프트 층이 인쇄되는 속도. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 인쇄되어야합니다. " + +#: fdmprinter.def.json +msgctxt "raft_base_speed label" +msgid "Raft Base Print Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_speed description" +msgid "The speed at which the base raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high." +msgstr "기본 래프트 레이어가 인쇄되는 속도입니다. 이것은 노즐에서 나오는 재료의 양이 상당히 많기 때문에 아주 천천히 인쇄되어야합니다. " + +#: fdmprinter.def.json +msgctxt "raft_acceleration label" +msgid "Raft Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_acceleration description" +msgid "The acceleration with which the raft is printed." +msgstr "래프트가 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "raft_surface_acceleration label" +msgid "Raft Top Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_acceleration description" +msgid "The acceleration with which the top raft layers are printed." +msgstr "상단 래프트 레이어가 인쇄되는 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "raft_interface_acceleration label" +msgid "Raft Middle Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_acceleration description" +msgid "The acceleration with which the middle raft layer is printed." +msgstr "중간 래프트 층이 인쇄되는 가속도. " + +#: fdmprinter.def.json +msgctxt "raft_base_acceleration label" +msgid "Raft Base Print Acceleration" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_acceleration description" +msgid "The acceleration with which the base raft layer is printed." +msgstr "기본 래프트 레이어가 인쇄되는 가속도입니다. " + +#: fdmprinter.def.json +msgctxt "raft_jerk label" +msgid "Raft Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_jerk description" +msgid "The jerk with which the raft is printed." +msgstr "래프트와 함께 인쇄되는 저크. " + +#: fdmprinter.def.json +msgctxt "raft_surface_jerk label" +msgid "Raft Top Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_jerk description" +msgid "The jerk with which the top raft layers are printed." +msgstr "상단 래프트 레이어가 인쇄되는 저크. " + +#: fdmprinter.def.json +msgctxt "raft_interface_jerk label" +msgid "Raft Middle Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_jerk description" +msgid "The jerk with which the middle raft layer is printed." +msgstr "중간 래프트 층이 인쇄되는 저크. " + +#: fdmprinter.def.json +msgctxt "raft_base_jerk label" +msgid "Raft Base Print Jerk" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_jerk description" +msgid "The jerk with which the base raft layer is printed." +msgstr "기본 래프트 레이어가 인쇄되는 저크. " + +#: fdmprinter.def.json +msgctxt "raft_fan_speed label" +msgid "Raft Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_fan_speed description" +msgid "The fan speed for the raft." +msgstr "래프트의 팬 속도. " + +#: fdmprinter.def.json +msgctxt "raft_surface_fan_speed label" +msgid "Raft Top Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_surface_fan_speed description" +msgid "The fan speed for the top raft layers." +msgstr "상단 래프트 레이어의 팬 속도입니다. " + +#: fdmprinter.def.json +msgctxt "raft_interface_fan_speed label" +msgid "Raft Middle Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_interface_fan_speed description" +msgid "The fan speed for the middle raft layer." +msgstr "중간 래프트 레이어의 팬 속도입니다. " + +#: fdmprinter.def.json +msgctxt "raft_base_fan_speed label" +msgid "Raft Base Fan Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "raft_base_fan_speed description" +msgid "The fan speed for the base raft layer." +msgstr "기본 래프트 레이어의 팬 속도입니다. " + +#: fdmprinter.def.json +msgctxt "dual label" +msgid "Dual Extrusion" +msgstr "" + +#: fdmprinter.def.json +msgctxt "dual description" +msgid "Settings used for printing with multiple extruders." +msgstr "여러 압출기로 인쇄 할 때 사용되는 설정입니다. " + +#: fdmprinter.def.json +msgctxt "prime_tower_enable label" +msgid "Enable Prime Tower" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_enable description" +msgid "Print a tower next to the print which serves to prime the material after each nozzle switch." +msgstr "각 노즐을 교체 한 후에 재료를 프라이밍(Priming)하는 인쇄 옆에 타워를 인쇄하십시오. " + +#: fdmprinter.def.json +msgctxt "prime_tower_size label" +msgid "Prime Tower Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_size description" +msgid "The width of the prime tower." +msgstr "프라임 타워의 너비." + +#: fdmprinter.def.json +msgctxt "prime_tower_min_volume label" +msgid "Prime Tower Minimum Volume" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_min_volume description" +msgid "The minimum volume for each layer of the prime tower in order to purge enough material." +msgstr "충분한 재료를 퍼지하기 위해 프라임 타워 각 층의 최소 부피. " + +#: fdmprinter.def.json +msgctxt "prime_tower_wall_thickness label" +msgid "Prime Tower Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_wall_thickness description" +msgid "The thickness of the hollow prime tower. A thickness larger than half the Prime Tower Minimum Volume will result in a dense prime tower." +msgstr "속이 빈 프라임 타워의 두께. 프라임 타워의 최소 볼륨의 절반보다 큰 두께는 조밀 한 소수 타워가됩니다. " + +#: fdmprinter.def.json +msgctxt "prime_tower_position_x label" +msgid "Prime Tower X Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_x description" +msgid "The x coordinate of the position of the prime tower." +msgstr "프라임 타워 위치의 x 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "prime_tower_position_y label" +msgid "Prime Tower Y Position" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_position_y description" +msgid "The y coordinate of the position of the prime tower." +msgstr "프라임 타워 위치의 y 좌표입니다. " + +#: fdmprinter.def.json +msgctxt "prime_tower_flow label" +msgid "Prime Tower Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value." +msgstr "유량 보상 : 압출 된 재료의 양에이 값을 곱합니다. " + +#: fdmprinter.def.json +msgctxt "prime_tower_wipe_enabled label" +msgid "Wipe Inactive Nozzle on Prime Tower" +msgstr "" + +#: fdmprinter.def.json +msgctxt "prime_tower_wipe_enabled description" +msgid "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower." +msgstr "하나의 노즐로 프라임 타워를 인쇄 한 후, 다른 타워의 흙먼지 물질을 프라임 타워에서 닦아냅니다. " + +#: fdmprinter.def.json +msgctxt "dual_pre_wipe label" +msgid "Wipe Nozzle After Switch" +msgstr "" + +#: fdmprinter.def.json +msgctxt "dual_pre_wipe description" +msgid "After switching extruder, wipe the oozed material off of the nozzle on the first thing printed. This performs a safe slow wipe move at a place where the oozed material causes least harm to the surface quality of your print." +msgstr "압출기를 전환 한 후, 인쇄 된 첫 번째 것을 노즐에서 닦아 낸 물질을 닦아냅니다. 이렇게하면 흘러 나온 물질이 인쇄물의 표면 품질에 가장 해를 입히는 곳에서 안전한 천천히 닦아줍니다. " + +#: fdmprinter.def.json +msgctxt "ooze_shield_enabled label" +msgid "Enable Ooze Shield" +msgstr "" + +#: fdmprinter.def.json +msgctxt "ooze_shield_enabled description" +msgid "Enable exterior ooze shield. This will create a shell around the model which is likely to wipe a second nozzle if it's at the same height as the first nozzle." +msgstr "외장 방음 장치를 사용하십시오. 이렇게하면 첫 번째 노즐과 동일한 높이에 두 번째 노즐을 닦을 가능성이있는 모델 주위에 쉘이 생깁니다. " + +#: fdmprinter.def.json +msgctxt "ooze_shield_angle label" +msgid "Ooze Shield Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "ooze_shield_angle description" +msgid "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material." +msgstr "방패망의 한 부분이 가질 최대 각도입니다. \"0\"도가 수직이고 \"90\"도가 수평입니다. 각도가 작 으면 방풍망이 덜 파손되지만 재료는 더 많습니다. " + +#: fdmprinter.def.json +msgctxt "ooze_shield_dist label" +msgid "Ooze Shield Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "ooze_shield_dist description" +msgid "Distance of the ooze shield from the print, in the X/Y directions." +msgstr "X / Y 방향으로 인쇄물에서 방패망까지의 거리. " + +#: fdmprinter.def.json +msgctxt "meshfix label" +msgid "Mesh Fixes" +msgstr "" + +#: fdmprinter.def.json +msgctxt "meshfix description" +msgid "category_fixes" +msgstr "카테고리 수정 " + +#: fdmprinter.def.json +msgctxt "meshfix_union_all label" +msgid "Union Overlapping Volumes" +msgstr "" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all description" +msgid "Ignore the internal geometry arising from overlapping volumes within a mesh and print the volumes as one. This may cause unintended internal cavities to disappear." +msgstr "메쉬 내의 겹치는 볼륨으로 인해 발생하는 내부 지오메트리를 무시하고 볼륨을 하나로 인쇄하십시오. 이로 인해 의도하지 않은 내부 공동이 사라질 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "meshfix_union_all_remove_holes label" +msgid "Remove All Holes" +msgstr "" + +#: fdmprinter.def.json +msgctxt "meshfix_union_all_remove_holes description" +msgid "Remove the holes in each layer and keep only the outside shape. This will ignore any invisible internal geometry. However, it also ignores layer holes which can be viewed from above or below." +msgstr "각 레이어의 구멍을 제거하고 바깥 쪽 모양 만 유지합니다. 이것은 보이지 않는 내부 지오메트리를 무시합니다. 그러나 위 또는 아래에서 볼 수있는 레이어 구멍도 무시합니다. " + +#: fdmprinter.def.json +msgctxt "meshfix_extensive_stitching label" +msgid "Extensive Stitching" +msgstr "" + +#: fdmprinter.def.json +msgctxt "meshfix_extensive_stitching description" +msgid "Extensive stitching tries to stitch up open holes in the mesh by closing the hole with touching polygons. This option can introduce a lot of processing time." +msgstr "광범위한 스티칭은 다각형을 만지면서 구멍을 닫음으로써 메쉬의 열린 구멍을 꿰매려합니다. 이 옵션은 많은 처리 시간을 초래할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "meshfix_keep_open_polygons label" +msgid "Keep Disconnected Faces" +msgstr "" + +#: fdmprinter.def.json +msgctxt "meshfix_keep_open_polygons description" +msgid "Normally Cura tries to stitch up small holes in the mesh and remove parts of a layer with big holes. Enabling this option keeps those parts which cannot be stitched. This option should be used as a last resort option when everything else fails to produce proper GCode." +msgstr "일반적으로 큐라(Cura)는 메쉬의 작은 구멍을 꿰매 붙이고 큰 구멍이있는 레이어의 부분을 제거하려고합니다. 이 옵션을 활성화하면 스티칭 할 수없는 파트가 유지됩니다. 이 옵션은 다른 모든 것이 올바른 GCode를 생성하지 못할 때 최후의 수단으로 사용해야합니다. " + +#: fdmprinter.def.json +msgctxt "multiple_mesh_overlap label" +msgid "Merged Meshes Overlap" +msgstr "" + +#: fdmprinter.def.json +msgctxt "multiple_mesh_overlap description" +msgid "Make meshes which are touching each other overlap a bit. This makes them bond together better." +msgstr "서로 닿는 메쉬가 조금 겹치게 만듭니다. 이것은 그들을 더 잘 묶는 것입니다. " + +#: fdmprinter.def.json +msgctxt "carve_multiple_volumes label" +msgid "Remove Mesh Intersection" +msgstr "" + +#: fdmprinter.def.json +msgctxt "carve_multiple_volumes description" +msgid "Remove areas where multiple meshes are overlapping with each other. This may be used if merged dual material objects overlap with each other." +msgstr "여러 메시가 서로 겹치는 영역을 제거하십시오. 병합 된 이중 물체가 서로 중첩되는 경우이 값이 사용될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "alternate_carve_order label" +msgid "Alternate Mesh Removal" +msgstr "" + +#: fdmprinter.def.json +msgctxt "alternate_carve_order description" +msgid "Switch to which mesh intersecting volumes will belong with every layer, so that the overlapping meshes become interwoven. Turning this setting off will cause one of the meshes to obtain all of the volume in the overlap, while it is removed from the other meshes." +msgstr "교차하는 메쉬로 교차하는 볼륨으로 전환하면 겹치는 메쉬가 서로 얽 히게됩니다. 이 설정을 해제하면 메시 중 하나가 다른 메시에서 제거되는 동안 오버랩의 모든 볼륨을 가져옵니다. " + +#: fdmprinter.def.json +msgctxt "blackmagic label" +msgid "Special Modes" +msgstr "" + +#: fdmprinter.def.json +msgctxt "blackmagic description" +msgid "category_blackmagic" +msgstr "블랙매직 카테고리 " + +#: fdmprinter.def.json +msgctxt "print_sequence label" +msgid "Print Sequence" +msgstr "" + +#: fdmprinter.def.json +msgctxt "print_sequence description" +msgid "Whether to print all models one layer at a time or to wait for one model to finish, before moving on to the next. One at a time mode is only possible if all models are separated in such a way that the whole print head can move in between and all models are lower than the distance between the nozzle and the X/Y axes." +msgstr "한 번에 한 레이어 씩 모든 모델을 인쇄할지 또는 한 모델이 완료 될 때까지 기다렸다가 다음 모델로 넘어갈 지 여부. 한 번에 한 가지 모드는 모든 모델이 분리되어 전체 프린트 헤드가 중간에서 움직일 수 있고 모든 모델이 노즐과 X / Y 축 사이의 거리보다 낮은 경우에만 가능합니다. " + +#: fdmprinter.def.json +msgctxt "print_sequence option all_at_once" +msgid "All at Once" +msgstr "" + +#: fdmprinter.def.json +msgctxt "print_sequence option one_at_a_time" +msgid "One at a Time" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_mesh label" +msgid "Infill Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_mesh description" +msgid "Use this mesh to modify the infill of other meshes with which it overlaps. Replaces infill regions of other meshes with regions for this mesh. It's suggested to only print one Wall and no Top/Bottom Skin for this mesh." +msgstr "관련 메쉬를 사용하여 겹치는 다른 메쉬의 충진율을 수정하십시오. 다른 메쉬의 충진 영역을 본 메쉬의 영역으로 대체합니다. 본 메쉬에 하나의 벽과 상단 / 밑바닥 스킨만을 인쇄하는 것이 좋습니다. " + +#: fdmprinter.def.json +msgctxt "infill_mesh_order label" +msgid "Infill Mesh Order" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_mesh_order description" +msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." +msgstr "어떤 충진 메쉬가 다른 충진 메쉬의 충진 내부에 있는지 결정합니다. 더 높은 차수의 충진 메쉬는 더 낮은 차수와 일반적인 메쉬로 충진 메쉬의 충진을 수정합니다. " + +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "이 메쉬의 볼륨을 다른 메쉬 내로 제한하십시오. 이 기능을 사용하면 다른 설정과 전체 압출기로 하나의 메쉬 인쇄 영역을 만들 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "모형을 모형으로 인쇄하여 모형에 모형과 유사한 모형을 만들 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "몰드의 바깥 쪽과 모델의 바깥 쪽 사이의 최소 거리입니다. " + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "모델의 수평 부분 위의 높이로 금형을 인쇄합니다. " + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "몰드에 대해 생성 된 외벽의 돌출 각도입니다. \"0\"도의 각은 금형의 외각을 수직으로 만들고 \"90\"도의 각은 모형의 외형을 모델의 외형으로 만듭니다. " + +#: fdmprinter.def.json +msgctxt "support_mesh label" +msgid "Support Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_mesh description" +msgid "Use this mesh to specify support areas. This can be used to generate support structure." +msgstr "본 메시를 사용하여 지원 영역을 지정하십시오. 이것은 지원 구조를 생성하는 데 사용할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "지지 메쉬 아래의 모든 부분을 지원하여지지 메쉬에 돌출이 없어야 합니다. " + +#: fdmprinter.def.json +msgctxt "anti_overhang_mesh label" +msgid "Anti Overhang Mesh" +msgstr "" + +#: fdmprinter.def.json +msgctxt "anti_overhang_mesh description" +msgid "Use this mesh to specify where no part of the model should be detected as overhang. This can be used to remove unwanted support structure." +msgstr "본 메쉬를 사용하여 모델에서 돌출부로 감지 할 부분을 지정합니다. 이것은 원하지 않는 지원 구조를 제거하는 데 사용될 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode label" +msgid "Surface Mode" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode description" +msgid "Treat the model as a surface only, a volume, or volumes with loose surfaces. The normal print mode only prints enclosed volumes. \"Surface\" prints a single wall tracing the mesh surface with no infill and no top/bottom skin. \"Both\" prints enclosed volumes like normal and any remaining polygons as surfaces." +msgstr "모델을 표면 만, 볼륨 또는 느슨한 표면이있는 볼륨으로 취급하십시오. 일반 인쇄 모드는 동봉 된 볼륨 만 인쇄합니다. \"표면\"은 아무런 충전물없이 상단 / 하단 스킨없이 메쉬 표면을 추적하는 단일 벽을 인쇄합니다. \"둘 다\"는 정상 및 나머지 폴리곤과 같은 닫힌 볼륨을 서피스로 인쇄합니다. " + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option normal" +msgid "Normal" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option surface" +msgid "Surface" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_mesh_surface_mode option both" +msgid "Both" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_spiralize label" +msgid "Spiralize Outer Contour" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_spiralize description" +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "스파이럴 라이즈는 바깥 쪽 가장자리의 Z 이동을 부드럽게합니다. 이렇게하면 인쇄물 전체에 걸쳐 꾸준히 Z가 증가합니다. 이 기능은 솔리드 모델을 단단한 바닥이있는 단일 벽으로 인쇄합니다. 이 기능은 각 레이어에 단일 부품 만 포함되어있을 때만 활성화 해야 합니다. " + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "나선형 윤곽선을 부드럽게하여 Z 솔기의 가시성을 줄이십시오 (Z- 솔기는 인쇄물에서는 거의 보이지 않지만 레이어 뷰에서는 여전히 보임). 매끄러움은 표면의 세부 묘사를 흐릿하게하는 경향이 있습니다. " + +#: fdmprinter.def.json +msgctxt "experimental label" +msgid "Experimental" +msgstr "" + +#: fdmprinter.def.json +msgctxt "experimental description" +msgid "experimental!" +msgstr "실험적인 " + +#: fdmprinter.def.json +msgctxt "draft_shield_enabled label" +msgid "Enable Draft Shield" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_enabled description" +msgid "This will create a wall around the model, which traps (hot) air and shields against exterior airflow. Especially useful for materials which warp easily." +msgstr "이렇게하면 모델 주위에 벽이 생겨 외부 공기 흐름을 막아 (뜨거운) 공기와 차폐를 막을 수 있습니다. 왜곡이 쉬운 소재에 특히 유용합니다. " + +#: fdmprinter.def.json +msgctxt "draft_shield_dist label" +msgid "Draft Shield X/Y Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_dist description" +msgid "Distance of the draft shield from the print, in the X/Y directions." +msgstr "X / Y 방향으로 인쇄에서 드래프트 쉴드까지의 거리입니다. " + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation label" +msgid "Draft Shield Limitation" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation description" +msgid "Set the height of the draft shield. Choose to print the draft shield at the full height of the model or at a limited height." +msgstr "드래프트 쉴드의 높이를 설정하십시오. 모델의 전체 높이 또는 제한된 높이에서 드래프트 쉴드를 인쇄하도록 선택하십시오. " + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation option full" +msgid "Full" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_height_limitation option limited" +msgid "Limited" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_height label" +msgid "Draft Shield Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "draft_shield_height description" +msgid "Height limitation of the draft shield. Above this height no draft shield will be printed." +msgstr "드래프트 쉴드의 높이 제한. 이 높이 이상에서는 드래프트 쉴드가 인쇄되지 않습니다. " + +#: fdmprinter.def.json +msgctxt "conical_overhang_enabled label" +msgid "Make Overhang Printable" +msgstr "" + +#: fdmprinter.def.json +msgctxt "conical_overhang_enabled description" +msgid "Change the geometry of the printed model such that minimal support is required. Steep overhangs will become shallow overhangs. Overhanging areas will drop down to become more vertical." +msgstr "최소 지원이 필요하도록 인쇄 된 모델의 형상을 변경하십시오. 가파른 오버행은 얕은 오버행이됩니다. 오버행 영역이 더 수직으로 떨어집니다. " + +#: fdmprinter.def.json +msgctxt "conical_overhang_angle label" +msgid "Maximum Model Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "conical_overhang_angle description" +msgid "The maximum angle of overhangs after the they have been made printable. At a value of 0° all overhangs are replaced by a piece of model connected to the build plate, 90° will not change the model in any way." +msgstr "오버행 각도가 인쇄 가능하게 된 후 최대 각도. \"0\"도 각의 값에서 모든 오버행은 빌드 플레이트에 연결된 모델로 대체됩니다. \"90\"도 각은 모델을 변경하지 않습니다. " + +#: fdmprinter.def.json +msgctxt "coasting_enable label" +msgid "Enable Coasting" +msgstr "" + +#: fdmprinter.def.json +msgctxt "coasting_enable description" +msgid "Coasting replaces the last part of an extrusion path with a travel path. The oozed material is used to print the last piece of the extrusion path in order to reduce stringing." +msgstr "코스팅(Coasting)은 돌출 경로의 마지막 부분을 이동 경로로 바꿉니다. 누출 된 재료는 스트링을 줄이기 위해 압출 경로의 마지막 부분을 인쇄하는 데 사용됩니다. " + +#: fdmprinter.def.json +msgctxt "coasting_volume label" +msgid "Coasting Volume" +msgstr "" + +#: fdmprinter.def.json +msgctxt "coasting_volume description" +msgid "The volume otherwise oozed. This value should generally be close to the nozzle diameter cubed." +msgstr "그렇지 않으면 볼륨이 흘러 나옵니다. 이 값은 일반적으로 노즐 직경 입방체에 가깝습니다. " + +#: fdmprinter.def.json +msgctxt "coasting_min_volume label" +msgid "Minimum Volume Before Coasting" +msgstr "" + +#: fdmprinter.def.json +msgctxt "coasting_min_volume description" +msgid "The smallest volume an extrusion path should have before allowing coasting. For smaller extrusion paths, less pressure has been built up in the bowden tube and so the coasted volume is scaled linearly. This value should always be larger than the Coasting Volume." +msgstr "코스팅(Coasting)을 허용하기 전에 압출 경로에 있어야하는 최소 볼륨. 작은 압출 경로의 경우 보우 덴 튜브에 가해지는 압력이 적기 때문에 연안 부피가 선형 적으로 조정됩니다. 이 값은 항상 Coasting Volume보다 커야합니다. " + +#: fdmprinter.def.json +msgctxt "coasting_speed label" +msgid "Coasting Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "coasting_speed description" +msgid "The speed by which to move during coasting, relative to the speed of the extrusion path. A value slightly under 100% is advised, since during the coasting move the pressure in the bowden tube drops." +msgstr "코스팅(Coasting) 시, 이동 속도. 돌출 경로의 속도에 상대적입니다. 해안 이동 중에 보우 덴 튜브의 압력이 떨어지기 때문에 100 %보다 약간 작은 값을 권합니다. " + +#: fdmprinter.def.json +msgctxt "skin_outline_count label" +msgid "Extra Skin Wall Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_outline_count description" +msgid "Replaces the outermost part of the top/bottom pattern with a number of concentric lines. Using one or two lines improves roofs that start on infill material." +msgstr "위쪽 / 아래쪽 패턴의 가장 바깥 쪽 부분을 여러 동심 선으로 바꿉니다. 하나 또는 두 개의 선을 사용하면 충진재로 시작하는 지붕이 향상됩니다. " + +#: fdmprinter.def.json +msgctxt "skin_alternate_rotation label" +msgid "Alternate Skin Rotation" +msgstr "" + +#: fdmprinter.def.json +msgctxt "skin_alternate_rotation description" +msgid "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." +msgstr "위쪽 / 아래쪽 레이어가 인쇄되는 방향을 바꿉니다. 보통 대각선으로 만 인쇄됩니다. 이 설정은 X 전용 및 Y 전용 방향을 추가합니다. " + +#: fdmprinter.def.json +msgctxt "support_conical_enabled label" +msgid "Enable Conical Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_conical_enabled description" +msgid "Experimental feature: Make support areas smaller at the bottom than at the overhang." +msgstr "실험적 기능 : 오버행보다 하단에서 지원 영역을 작게 만듭니다. " + +#: fdmprinter.def.json +msgctxt "support_conical_angle label" +msgid "Conical Support Angle" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_conical_angle description" +msgid "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top." +msgstr "원추형 지지점의 기울기 각도입니다. \"0\"도가 수직이고 \"90\"도가 수평입니다. 각도가 작 으면 지지대가 더 튼튼 해지지 만 더 많은 재질로 구성됩니다. 음수 각도는 받침대의 받침대가 상단보다 넓게 만듭니다. " + +#: fdmprinter.def.json +msgctxt "support_conical_min_width label" +msgid "Conical Support Minimum Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_conical_min_width description" +msgid "Minimum width to which the base of the conical support area is reduced. Small widths can lead to unstable support structures." +msgstr "원추형지지 영역의베이스가 축소되는 최소 너비. 폭이 좁 으면 불안정한지지 구조가 생길 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "infill_hollow label" +msgid "Hollow Out Objects" +msgstr "" + +#: fdmprinter.def.json +msgctxt "infill_hollow description" +msgid "Remove all infill and make the inside of the object eligible for support." +msgstr "모든 충진재를 제거하고 물체의 내부를 지탱할 수있게하십시오. " + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_enabled label" +msgid "Fuzzy Skin" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_enabled description" +msgid "Randomly jitter while printing the outer wall, so that the surface has a rough and fuzzy look." +msgstr "외벽을 인쇄하는 동안 무작위로 지터가 발생하여 표면이 거칠고 흐릿 해 보입니다. " + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_thickness label" +msgid "Fuzzy Skin Thickness" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_thickness description" +msgid "The width within which to jitter. It's advised to keep this below the outer wall width, since the inner walls are unaltered." +msgstr "지터가 발생할 너비. 내벽이 변경되지 않으므로이를 외벽 너비 아래로 유지하는 것이 좋습니다. " + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_density label" +msgid "Fuzzy Skin Density" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_density description" +msgid "The average density of points introduced on each polygon in a layer. Note that the original points of the polygon are discarded, so a low density results in a reduction of the resolution." +msgstr "레이어의 각 다각형에 도입 된 점의 평균 밀도입니다. 다각형의 원래 점은 버려지므로 밀도가 낮으면 해상도가 감소합니다. " + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_dist label" +msgid "Fuzzy Skin Point Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "magic_fuzzy_skin_point_dist description" +msgid "The average distance between the random points introduced on each line segment. Note that the original points of the polygon are discarded, so a high smoothness results in a reduction of the resolution. This value must be higher than half the Fuzzy Skin Thickness." +msgstr "각 선분에 도입 된 임의의 점 사이의 평균 거리입니다. 다각형의 원래 점은 버려 지므로 높은 부드러움으로 인해 해상도가 감소합니다. 이 값은 퍼지 스킨 두께의 절반보다 커야합니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_enabled label" +msgid "Wire Printing" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_enabled description" +msgid "Print only the outside surface with a sparse webbed structure, printing 'in thin air'. This is realized by horizontally printing the contours of the model at given Z intervals which are connected via upward and diagonally downward lines." +msgstr "얇은 공기 중에서 인쇄하는 스파 스 웨브 구조로 외부 표면 만 인쇄하십시오. 이것은 상향 및 대각선 방향으로 연결되어있는 주어진 Z 간격으로 모델의 윤곽을 수평으로 인쇄함으로써 실현됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_height label" +msgid "WP Connection Height" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_height description" +msgid "The height of the upward and diagonally downward lines between two horizontal parts. This determines the overall density of the net structure. Only applies to Wire Printing." +msgstr "두 개의 수평 부분 사이의 상향 및 대각선 방향의 높이입니다. 이것은 네트 구조의 전체 밀도를 결정합니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_roof_inset label" +msgid "WP Roof Inset Distance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_inset description" +msgid "The distance covered when making a connection from a roof outline inward. Only applies to Wire Printing." +msgstr "지붕에서 연결을 할 때 안쪽까지 윤곽선을 그립니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed label" +msgid "WP Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed description" +msgid "Speed at which the nozzle moves when extruding material. Only applies to Wire Printing." +msgstr "재료를 압출 할 때 노즐이 움직이는 속도. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_bottom label" +msgid "WP Bottom Printing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_bottom description" +msgid "Speed of printing the first layer, which is the only layer touching the build platform. Only applies to Wire Printing." +msgstr "빌드 플랫폼을 만지는 유일한 레이어 인 첫 번째 레이어 인쇄 속도. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_up label" +msgid "WP Upward Printing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_up description" +msgid "Speed of printing a line upward 'in thin air'. Only applies to Wire Printing." +msgstr "얇은 공기 속에서 위쪽으로 선을 인쇄하는 속도. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_down label" +msgid "WP Downward Printing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_down description" +msgid "Speed of printing a line diagonally downward. Only applies to Wire Printing." +msgstr "대각선 방향으로 선을 인쇄하는 속도. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_flat label" +msgid "WP Horizontal Printing Speed" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_printspeed_flat description" +msgid "Speed of printing the horizontal contours of the model. Only applies to Wire Printing." +msgstr "모델의 수평 윤곽 인쇄 속도입니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_flow label" +msgid "WP Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_flow description" +msgid "Flow compensation: the amount of material extruded is multiplied by this value. Only applies to Wire Printing." +msgstr "유량 보상 : 압출 된 재료의 양에이 값을 곱합니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_flow_connection label" +msgid "WP Connection Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_connection description" +msgid "Flow compensation when going up or down. Only applies to Wire Printing." +msgstr "위 또는 아래로 이동할 때 유량 보정. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_flow_flat label" +msgid "WP Flat Flow" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_flow_flat description" +msgid "Flow compensation when printing flat lines. Only applies to Wire Printing." +msgstr "평평한 선을 인쇄 할 때 유량 보정. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_top_delay label" +msgid "WP Top Delay" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_top_delay description" +msgid "Delay time after an upward move, so that the upward line can harden. Only applies to Wire Printing." +msgstr "상향 라인이 강화 될 수 있도록 상향 이동 후 지연 시간. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_bottom_delay label" +msgid "WP Bottom Delay" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_bottom_delay description" +msgid "Delay time after a downward move. Only applies to Wire Printing." +msgstr "하강 후 지연 시간. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_flat_delay label" +msgid "WP Flat Delay" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_flat_delay description" +msgid "Delay time between two horizontal segments. Introducing such a delay can cause better adhesion to previous layers at the connection points, while too long delays cause sagging. Only applies to Wire Printing." +msgstr "두 개의 수평 세그먼트 사이의 지연 시간. 이러한 지연을 도입하면 연결 지점에서 이전 레이어와의 접착력이 향상 될 수 있으며 너무 긴 지연으로 인해 처짐이 발생할 수 있습니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_up_half_speed label" +msgid "WP Ease Upward" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_up_half_speed description" +msgid "" +"Distance of an upward move which is extruded with half speed.\n" +"This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." +msgstr "기본 속도의 반으로 돌출 된 상향 이동 거리. 이로 인해 이전 레이어에 더 나은 접착력을 유발할 수 있지만 레이어에있는 소재는 너무 많이 가열하지 않습니다. 와이어 인쇄에만 적용됩니다." + +#: fdmprinter.def.json +msgctxt "wireframe_top_jump label" +msgid "WP Knot Size" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_top_jump description" +msgid "Creates a small knot at the top of an upward line, so that the consecutive horizontal layer has a better chance to connect to it. Only applies to Wire Printing." +msgstr "상향 선의 상단에 작은 매듭을 만들어 연속적인 수평 레이어에 연결할 수있는 기회를 얻습니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_fall_down label" +msgid "WP Fall Down" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_fall_down description" +msgid "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing." +msgstr "위쪽으로 밀어 낸 후 재료가 떨어지는 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_drag_along label" +msgid "WP Drag Along" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_drag_along description" +msgid "Distance with which the material of an upward extrusion is dragged along with the diagonally downward extrusion. This distance is compensated for. Only applies to Wire Printing." +msgstr "대각선 방향으로 돌출 된 돌출부의 재료가 위쪽으로 밀어내는 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_strategy label" +msgid "WP Strategy" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy description" +msgid "Strategy for making sure two consecutive layers connect at each connection point. Retraction lets the upward lines harden in the right position, but may cause filament grinding. A knot can be made at the end of an upward line to heighten the chance of connecting to it and to let the line cool; however, it may require slow printing speeds. Another strategy is to compensate for the sagging of the top of an upward line; however, the lines won't always fall down as predicted." +msgstr "각 연결 지점에서 두 개의 연속 된 레이어가 연결되도록하는 전략입니다. 후퇴를하면 상향 선이 올바른 위치에서 경화되지만 필라멘트 연삭이 발생할 수 있습니다. 상향 선의 끝에 매듭을 만들어 연결 기회를 높이고 선을 차게 할 수 있습니다. 그러나 느린 인쇄 속도가 필요할 수 있습니다. 또 다른 전략은 상향 라인의 윗부분의 처짐을 보충하는 것입니다. 그러나 선은 항상 예측대로 떨어지지는 않습니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option compensate" +msgid "Compensate" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option knot" +msgid "Knot" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_strategy option retract" +msgid "Retract" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_straight_before_down label" +msgid "WP Straighten Downward Lines" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_straight_before_down description" +msgid "Percentage of a diagonally downward line which is covered by a horizontal line piece. This can prevent sagging of the top most point of upward lines. Only applies to Wire Printing." +msgstr "수평선 조각에 의해 덮여있는 비스듬히 하향 선의 백분율. 이렇게하면 상향 선의 맨 위 지점이 처지는 것을 방지 할 수 있습니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_roof_fall_down label" +msgid "WP Roof Fall Down" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_fall_down description" +msgid "The distance which horizontal roof lines printed 'in thin air' fall down when being printed. This distance is compensated for. Only applies to Wire Printing." +msgstr "수평 지붕 라인이 '얇은 공기 안에'인쇄 된 거리는 인쇄 될 때 떨어집니다. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_roof_drag_along label" +msgid "WP Roof Drag Along" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_drag_along description" +msgid "The distance of the end piece of an inward line which gets dragged along when going back to the outer outline of the roof. This distance is compensated for. Only applies to Wire Printing." +msgstr "루프의 외곽 윤곽으로 돌아갈 때 끌린 내향 선의 끝 부분 거리. 이 거리는 보상됩니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_roof_outer_delay label" +msgid "WP Roof Outer Delay" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_roof_outer_delay description" +msgid "Time spent at the outer perimeters of hole which is to become a roof. Longer times can ensure a better connection. Only applies to Wire Printing." +msgstr "지붕이 될 구멍의 바깥 둘레에서 보낸 시간. 긴 시간은 더 나은 연결을 보장 할 수 있습니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "wireframe_nozzle_clearance label" +msgid "WP Nozzle Clearance" +msgstr "" + +#: fdmprinter.def.json +msgctxt "wireframe_nozzle_clearance description" +msgid "Distance between the nozzle and horizontally downward lines. Larger clearance results in diagonally downward lines with a less steep angle, which in turn results in less upward connections with the next layer. Only applies to Wire Printing." +msgstr "노즐과 수평 아래쪽 라인 사이의 거리. 클리어런스가 클수록 비스듬한 각도에서 비스듬히 아래쪽으로 선이 그어져 다음 층과의 연결이보다 적어집니다. 와이어 인쇄에만 적용됩니다. " + +#: fdmprinter.def.json +msgctxt "command_line_settings label" +msgid "Command Line Settings" +msgstr "" + +#: fdmprinter.def.json +msgctxt "command_line_settings description" +msgid "Settings which are only used if CuraEngine isn't called from the Cura frontend." +msgstr "큐라(Cura) 프론트 엔드에서 큐라엔진(CuraEngine)이 호출되지 않은 경우에만 사용되는 설정입니다. " + +#: fdmprinter.def.json +msgctxt "center_object label" +msgid "Center object" +msgstr "" + +#: fdmprinter.def.json +msgctxt "center_object description" +msgid "Whether to center the object on the middle of the build platform (0,0), instead of using the coordinate system in which the object was saved." +msgstr "객체가 저장된 좌표계를 사용하는 대신 빌드 플랫폼 중간, (0,0)에 객체를 중심에 맞출어야 할지의 여부 " + +#: fdmprinter.def.json +msgctxt "mesh_position_x label" +msgid "Mesh position x" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mesh_position_x description" +msgid "Offset applied to the object in the x direction." +msgstr "x 방향으로 객체에 적용된 오프셋입니다. " + +#: fdmprinter.def.json +msgctxt "mesh_position_y label" +msgid "Mesh position y" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mesh_position_y description" +msgid "Offset applied to the object in the y direction." +msgstr "y 방향으로 객체에 적용된 오프셋입니다. " + +#: fdmprinter.def.json +msgctxt "mesh_position_z label" +msgid "Mesh position z" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mesh_position_z description" +msgid "Offset applied to the object in the z direction. With this you can perform what was used to be called 'Object Sink'." +msgstr "z 방향으로 객체에 적용된 오프셋입니다. 이것을 사용하여 '오프젝 싱크(Object Sink)'라고 불렀던 것을 수행 할 수 있습니다. " + +#: fdmprinter.def.json +msgctxt "mesh_rotation_matrix label" +msgid "Mesh Rotation Matrix" +msgstr "" + +#: fdmprinter.def.json +msgctxt "mesh_rotation_matrix description" +msgid "Transformation matrix to be applied to the model when loading it from file." +msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다. " diff --git a/resources/i18n/nl/cura.po b/resources/i18n/nl/cura.po index 64a1f5f924..fe1f531f85 100644 --- a/resources/i18n/nl/cura.po +++ b/resources/i18n/nl/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: nl\n" +"Language-Team: Dutch\n" +"Language: Dutch\n" +"Lang-Code: nl\n" +"Country-Code: NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Biedt een manier om de machine-instellingen (zoals bouwvolume, maat nozzle enz.) te wijzigen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Machine-instellingen" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Wijzigingenlogboek Weergeven" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Profielvlakker" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Hiermee maakt u een afgevlakte versie van het gewijzigde profiel." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Actieve instellingen vlakken" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Profiel is gevlakt en geactiveerd." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Aangesloten via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer bezig is of niet aangesloten is." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "De printer biedt geen ondersteuning voor USB-printen omdat deze de codeversie UltiGCode gebruikt." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer geen ondersteuning biedt voor USB-printen." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Opslaan op Verwisselbaar Station {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Opslaan op Verwisselbaar Station {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Kan niet opslaan als {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Opgeslagen op Verwisselbaar Station {0} als {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Uitwerpen" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Verwisselbaar station {0} uitwerpen" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Kan niet opslaan op verwisselbaar station {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "{0} is uitgeworpen. U kunt het station nu veilig verwijderen." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Toegangsaanvraag naar de printer verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Via het netwerk verbonden. Keur de aanvraag goed op de printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Via het netwerk verbonden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Via het netwerk verbonden. Kan de printer niet beheren." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Toegang is op de printer geweigerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "De toegangsaanvraag is mislukt vanwege een time-out." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "De verbinding met het netwerk is verbroken." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "De verbinding met de printer is verbroken. Controleer of de printer nog is aangesloten." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Er kan geen nieuwe taak worden gestart omdat de printer bezig is. De huidige printerstatus is %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Er kan geen nieuwe taak worden gestart. Er is geen PrintCore geladen in de sleuf {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Er kan geen nieuwe taak worden gestart. Er is geen materiaal geladen in de sleuf {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Er is onvoldoende materiaal voor de spool {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Afwijkende PrintCore (Cura: {0}, Printer: {1}) geselecteerd voor de extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Afwijkend materiaal (Cura: {0}, Printer: {1}) geselecteerd voor de extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "De PrintCore {0} is niet correct gekalibreerd. Op de printer moet XY-kalibratie worden uitgevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Weet u zeker dat u met de geselecteerde configuratie wilt printen?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "De configuratie of kalibratie van de printer komt niet overeen met de configuratie van Cura. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "De configuratie komt niet overeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "De gegevens worden naar de printer verzonden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Annuleren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Kan geen gegevens naar de printer verzenden. Is er nog een andere taak actief?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Printen afbreken..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Print afgebroken. Controleer de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Print onderbreken..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Print hervatten..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniseren met de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Wilt u uw huidige printerconfiguratie gebruiken in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "De PrintCores en/of materialen in de printer wijken af van de PrintCores en/of materialen in uw huidige project. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Verwijderen" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Materiaalprofielen" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Biedt mogelijkheden om materiaalprofielen op XML-basis te lezen en te schrijven." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Lagen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Als draadprinten is ingeschakeld, geeft Cura lagen niet nauwkeurig weer" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Versie-upgrade van 2.4 naar 2.5." +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Versie-upgrade van 2.5 naar 2.6." -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Werkt configuraties bij van Cura 2.4 naar Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Hiermee worden configuraties bijgewerkt van Cura 2.5 naar Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-afbeelding" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Het geselecteerde materiaal is niet compatibel met de geselecteerde machine of configuratie." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Met de huidige instellingen is slicing niet mogelijk. De volgende instellingen bevatten fouten: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Slicen is niet mogelijk omdat de terugduwpijler of terugduwpositie(s) ongeldig zijn." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Er valt niets te slicen omdat geen van de modellen in het bouwvolume past. Schaal of roteer de modellen totdat deze passen." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Voorziet in de koppeling naar het slicing-back-end van de CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Lagen verwerken" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Instellingen per Model configureren" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Aanbevolen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Aangepast" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF-lezer" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Biedt ondersteuning voor het lezen van 3MF-bestanden." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF-bestand" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G-bestand" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code parseren" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "Zorg ervoor dat de G-code geschikt is voor uw printer en de printerconfiguratie voordat u het bestand verzendt. Mogelijk is de weergave van de G-code niet nauwkeurig." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-profiel" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF-schrijver" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Deze optie biedt ondersteuning voor het schrijven van 3MF-bestanden." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF-bestand" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura-project 3MF-bestand" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Acties Ultimaker-machines" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Biedt machine-acties voor Ultimaker-machines (zoals wizard voor bedkalibratie, selecteren van upgrades enz.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades selecteren" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Acties Ultimaker-machines" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Biedt machine-acties voor Ultimaker-machines (zoals wizard voor bedkalibratie, selecteren van upgrades enz.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Biedt ondersteuning bij het importeren van Cura-profielen." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Onbekend materiaal" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Nieuwe locatie vinden voor objecten" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Kan binnen het werkvolume niet voor alle objecten een locatie vinden" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Het Bestand Bestaat Al" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Het bestand {0} bestaat al. Weet u zeker dat u dit bestand wilt overschrijven?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Kan geen kwaliteitsprofiel vinden voor deze combinatie. In plaats daarvan worden de standaardinstellingen gebruikt." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Aangepast" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Aangepast materiaal" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Kan het profiel niet exporteren als {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Kan het profiel niet exporteren als {0}: de invoegtoepassing voor de schrijver heeft een fout gerapporteerd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Het profiel is geëxporteerd als {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Kan het profiel niet importeren uit {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Het profiel {0} is geïmporteerd" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Het profiel {0} heeft een onbekend bestandstype of is beschadigd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Aangepast profiel" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Er ontbreekt een kwaliteitstype in het profiel." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Kan geen kwaliteitstype {0} vinden voor de huidige configuratie." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "De hoogte van het bouwvolume is verminderd wegens de waarde van de instelling “Printvolgorde”, om te voorkomen dat de rijbrug tegen geprinte modellen botst." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oeps!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Objecten verveelvoudigen en plaatsen" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Crashrapport" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Er is een fatale fout opgetreden die niet kan worden hersteld!

\n

Hopelijk komt u met de afbeelding van deze kitten wat bij van de schrik.

\n

Gebruik de onderstaande informatie om een bugrapport te plaatsen op http://github.com/Ultimaker/Cura/issues

\n " +msgstr "

Er is een fatale fout opgetreden die niet kan worden hersteld!

\n

Gebruik de onderstaande informatie om een bugrapport te plaatsen op http://github.com/Ultimaker/Cura/issues

\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Webpagina openen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Machines laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Scene instellen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Interface laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Er kan slechts één G-code-bestand tegelijkertijd worden geladen. Het importeren van {0} is overgeslagen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Kan geen ander bestand openen als G-code wordt geladen. Het importeren van {0} is overgeslagen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Machine-instellingen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Voer hieronder de juiste instellingen voor uw printer in:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Printer" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Printerinstellingen" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Breedte)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Diepte)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Hoogte)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Vorm van het platform" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Midden van Machine is Nul" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Verwarmd bed" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "Versie G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Instellingen Printkop" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y max" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Hoogte rijbrug" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Aantal extruders" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Materiaaldiameter" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Maat nozzle" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Start G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Eind G-code" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Nozzle-instellingen" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Nozzle-offset X" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Nozzle-offset Y" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Start-G-code van extruder" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Eind-G-code van extruder" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D-instellingen" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Opslaan" @@ -1121,7 +1219,7 @@ msgstr "Extrudertemperatuur: %1/%2°C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Printen" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Onbekende foutcode: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Verbinding Maken met Printer in het Netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "Select your printer from the list below:" msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Toevoegen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Bewerken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Verwijderen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Vernieuwen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "Raadpleeg de handleiding voor probleemoplossing bij printen via het netwerk als uw printer niet in de lijst wordt vermeld" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Onbekend" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Firmwareversie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "De printer op dit adres heeft nog niet gereageerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Printeradres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Voer het IP-adres of de hostnaam van de printer in het netwerk in." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "OK" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Actieve scripts voor nabewerking wijzigen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Weergavemodus: lagen" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Kleurenschema" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Materiaalkleur" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Lijntype" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Compatibiliteitsmodus" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extruder %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Bewegingen weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Helpers weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Shell weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Vulling weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Alleen bovenlagen weergegeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "5 gedetailleerde lagen bovenaan weergeven" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Boven-/onderkant" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Binnenwand" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Effenen" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Model printen met" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Instellingen selecteren" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Instellingen Selecteren om Dit Model Aan te Passen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filteren..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alles weergeven" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Project openen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Bestaand(e) bijwerken" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Nieuw maken" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Samenvatting - Cura-project" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Printerinstellingen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Hoe dient het conflict in de machine te worden opgelost?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Naam" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profielinstellingen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Hoe dient het conflict in het profiel te worden opgelost?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Niet in profiel" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 overschrijving" msgstr[1] "%1 overschrijvingen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Afgeleide van" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 overschrijving" msgstr[1] "%1, %2 overschrijvingen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Materiaalinstellingen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Hoe dient het materiaalconflict te worden opgelost?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Zichtbaarheid instellen" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Modus" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Zichtbare instellingen:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 van %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Als u een project laadt, worden alle modellen van het platform gewist" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Openen" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Printerupgrades Selecteren" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Selecteer eventuele upgrades die op deze Ultimaker 2 zijn uitgevoerd" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Olsson-blok" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Aangepaste firmware selecteren" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Printerupgrades Selecteren" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "Printer accepteert geen opdrachten" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "In onderhoud. Controleer de printer" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Verbinding met de printer is verbroken" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Printen..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Gepauzeerd" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Voorbereiden..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Weet u zeker dat u het printen wilt afbreken?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Wijzigingen verwijderen of behouden" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profielinstellingen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Standaard" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Aangepast" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Altijd vragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Verwijderen en nooit meer vragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Behouden en nooit meer vragen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Behouden" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Nieuw profiel maken" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Informatie" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Naam Weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Merk" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Type Materiaal" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Kleur" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Eigenschappen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Dichtheid" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diameter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Kostprijs Filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Gewicht filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Lengte filament" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Kostprijs per meter" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Dit materiaal is gekoppeld aan %1 en deelt hiermee enkele eigenschappen." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Materiaal ontkoppelen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Beschrijving" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Gegevens Hechting" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Instellingen voor printen" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Eenheid" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Algemeen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Taal:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "U moet de toepassing opnieuw opstarten voordat de taalwijzigingen van kracht worden." +msgid "Theme:" +msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "U moet de toepassing opnieuw starten voordat deze wijzigingen van kracht worden." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Automatisch slicen bij wijzigen van instellingen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch slicen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Gedrag kijkvenster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Geef niet-ondersteunde gedeelten van het model een rode markering. Zonder ondersteuning zullen deze gedeelten niet goed worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Overhang weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" +msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Verplaatst de camera zodanig dat wanneer een model wordt geselecteerd, het model in het midden van het beeld wordt weergegeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Camera centreren wanneer een item wordt geselecteerd" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "Moet het standaard zoomgedrag van Cura worden omgekeerd?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Keer de richting van de camerazoom om." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Moeten modellen op het platform zodanig worden verplaatst dat ze elkaar niet meer doorsnijden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellen gescheiden houden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Moeten modellen in het printgebied omlaag worden gebracht zodat ze het platform raken?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modellen automatisch op het platform laten vallen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Toon het waarschuwingsbericht in de G-code-lezer." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Waarschuwingsbericht in de G-code-lezer" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Moet de laag in de compatibiliteitsmodus worden geforceerd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Compatibiliteitsmodus voor laagweergave forceren (opnieuw opstarten vereist)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Bestanden openen en opslaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Moeten modellen worden geschaald naar het werkvolume als ze te groot zijn?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Grote modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "Een model wordt mogelijk extreem klein weergegeven als de eenheden bijvoorbeeld in meters zijn in plaats van in millimeters. Moeten dergelijke modellen worden opgeschaald?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extreem kleine modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Moet er automatisch een op de printernaam gebaseerde voorvoegsel aan de naam van de printtaak worden toegevoegd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Machinevoorvoegsel toevoegen aan taaknaam" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Dient er een samenvatting te worden weergegeven wanneer een projectbestand wordt opgeslagen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialoogvenster voor samenvatting weergeven tijdens het opslaan van een project" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Standaardgedrag tijdens het openen van een projectbestand" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Standaardgedrag tijdens het openen van een projectbestand: " + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Altijd vragen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Altijd als project openen" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Altijd modellen importeren" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "Wanneer u wijzigingen hebt aangebracht aan een profiel en naar een ander profiel wisselt, wordt een dialoogvenster weergegeven waarin u wordt gevraagd of u de aanpassingen wilt behouden. U kunt ook een standaardgedrag kiezen en het dialoogvenster nooit meer laten weergeven." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Profiel overschrijven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Moet Cura op updates controleren wanneer het programma wordt gestart?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bij starten op updates controleren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Mogen anonieme gegevens over uw print naar Ultimaker worden verzonden? Opmerking: er worden geen modellen, IP-adressen of andere persoonlijk identificeerbare gegevens verzonden of opgeslagen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonieme) printgegevens verzenden" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Printers" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Activeren" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Type printer:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Verbinding:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Er is geen verbinding met de printer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Status:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Wachten totdat iemand het platform leegmaakt" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Wachten op een printtaak" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profielen" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Dupliceren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Importeren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Exporteren" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Profiel exporteren" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materialen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Printer: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Printer: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Maken" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Dupliceren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Materiaal Importeren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Kon materiaal %1 niet importeren: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Materiaal %1 is geïmporteerd" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Materiaal Exporteren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Exporteren van materiaal naar %1 is mislukt: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Materiaal is geëxporteerd naar %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Printer Toevoegen" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Printer Toevoegen" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Buitenwand" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Binnenwanden" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Skin" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Vulling" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Supportvulling" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Verbindingsstructuur" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Supportstructuur" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Beweging" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Intrekkingen" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Overig(e)" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00u 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG-pictogrammen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Zoeken..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Waarde naar alle extruders kopiëren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Deze instelling zichtbaar houden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Zichtbaarheid van instelling configureren..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Aanbevolen instellingen voor printen

Print met de aanbevolen instellingen voor de geselecteerde printer en kwaliteit, en het geselecteerde materiaal." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Aangepaste instellingen voor printen

Print met uiterst precieze controle over elk detail van het slice-proces." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automatisch: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automatisch: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Geselecteerd model printen met:" +msgstr[1] "Geselecteerde modellen printen met:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Geselecteerd model verveelvoudigen" +msgstr[1] "Geselecteerde modellen verveelvoudigen" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Aantal exemplaren" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Geschatte resterende tijd" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Vo&lledig Scherm In-/Uitschakelen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Ongedaan &Maken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Opnieuw" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Afsluiten" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura Configureren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Printer Toevoegen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Pr&inters Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Materialen Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "Profiel bijwerken met h&uidige instellingen/overschrijvingen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "Hui&dige wijzigingen verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "Profiel maken op basis van huidige instellingen/overs&chrijvingen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profielen Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Online &Documentatie Weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Een &Bug Rapporteren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&Over..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "&Selectie Verwijderen" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Ge&selecteerd model verwijderen" +msgstr[1] "Ge&selecteerde modellen verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Geselecteerd model centreren" +msgstr[1] "Geselecteerde modellen centreren" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Geselecteerd model verveelvoudigen" +msgstr[1] "Geselecteerde modellen verveelvoudigen" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Model Verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Model op Platform Ce&ntreren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modellen &Groeperen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Groeperen van Modellen Opheffen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Modellen Samen&voegen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Model verveelvoudigen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "Alle Modellen &Selecteren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Platform Leegmaken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Alle Modellen Opnieuw &Laden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Alle modellen schikken" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Selectie schikken" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Alle Modelposities Herstellen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Alle Model&transformaties Herstellen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "Bestand &Openen..." +msgid "&Open File(s)..." +msgstr "Bestand(en) &openen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "Project &openen..." +msgid "&New Project..." +msgstr "&Nieuw project..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Engine-&logboek Weergeven..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Open Configuratiemap" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Zichtbaarheid Instelling Configureren..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Model verveelvoudigen" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Slicen is niet beschikbaar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Voorbereiden" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Annuleren" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Actief Uitvoerapparaat Selecteren" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Bestand(en) openen" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Binnen de door u geselecteerde bestanden zijn een of meer projectbestanden aangetroffen. U kunt slechts één projectbestand tegelijk openen. Het wordt aangeraden alleen modellen uit deze bestanden te importeren. Wilt u verdergaan?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Allemaal als model importeren" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Bestand" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Selectie Opslaan naar Bestand" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "A&lles Opslaan" +msgid "Save &As..." +msgstr "Opslaan &als..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Project opslaan" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "B&ewerken" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "Beel&d" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "In&stellingen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Printer" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Materiaal" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profiel" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Instellen als Actieve Extruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensies" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Voo&rkeuren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Bestand Openen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Weergavemodus" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Instellingen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Bestand openen" +msgid "New project" +msgstr "Nieuw project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Weet u zeker dat u een nieuw project wilt starten? Hiermee wordt het platform leeggemaakt en worden eventuele niet-opgeslagen instellingen verwijderd." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Werkruimte openen" +msgid "Open File(s)" +msgstr "Bestand(en) openen" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Binnen de door u geselecteerde bestanden zijn een of meer G-code-bestanden aangetroffen. U kunt maximaal één G-code-bestand tegelijk openen. Selecteer maximaal één bestand als u dit wilt openen als G-code-bestand." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Project opslaan" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extruder %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 &materiaal" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Bij opnieuw opslaan projectsamenvatting niet weergeven" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Vulling" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Hol" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Zonder vulling (0%) blijft uw model hol, wat ten koste gaat van de sterkte" +msgid "0%" +msgstr "0%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Licht" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Zonder vulling blijft uw model hol en heeft deze weinig sterkte." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Met lichte vulling (20%) krijgt uw model een gemiddelde sterkte" +msgid "20%" +msgstr "20%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Dicht" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Met lichte vulling (20%) krijgt uw model een gemiddelde sterkte." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Met een dichte vulling (50%) krijgt uw model een bovengemiddelde sterkte" +msgid "50%" +msgstr "50%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Solide" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Met een dichte vulling (50%) krijgt uw model een bovengemiddelde sterkte." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Met solide vulling (100%) is uw model volledig massief" +msgid "100%" +msgstr "100%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Supportstructuur inschakelen" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Met solide vulling (100%) is uw model volledig massief." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Schakel het printen van een supportstructuur in. Een supportstructuur ondersteunt delen van het model met een zeer grote overhang." +msgid "Gradual" +msgstr "Geleidelijk" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Met geleidelijke vulling neemt de hoeveelheid vulling naar boven toe." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Support genereren" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Genereer structuren om delen van het model met overhang te ondersteunen. Zonder deze structuren zakken dergelijke delen in tijdens het printen." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Extruder voor supportstructuur" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecteren welke extruder voor support wordt gebruikt. Deze optie zorgt ervoor dat onder het model ondersteuning wordt geprint, om te voorkomen dat dit doorzakt of dat er midden in de lucht moet worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Hechting aan platform" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Het printen van een brim of raft inschakelen. Deze optie zorgt ervoor dat er extra materiaal rondom of onder het object wordt neergelegd, dat er naderhand eenvoudig kan worden afgesneden." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Hulp nodig om betere prints te krijgen? Lees de Ultimaker Troubleshooting Guides (handleiding voor probleemoplossing)" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Hebt u hulp nodig om betere prints te krijgen?
Lees de Ultimaker Troubleshooting Guides (Handleiding voor probleemoplossing)" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Geselecteerd model printen met %1" +msgstr[1] "Geselecteerde modellen printen met %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Projectbestand openen" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Dit is een Cura-projectbestand. Wilt u dit openen als project of de modellen eruit importeren?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Mijn keuze onthouden" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Openen als project" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Modellen importeren" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Materiaal" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Klik om de materiaalcompatibiliteit te controleren op Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profiel:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,130 @@ msgid "" "Click to open the profile manager." msgstr "Sommige waarden voor instellingen/overschrijvingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Er kan geen nieuwe taak worden gestart. Er is geen PrintCore geladen in de sleuf {0}." + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Versie-upgrade van 2.4 naar 2.5." + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Werkt configuraties bij van Cura 2.4 naar Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Kan geen kwaliteitsprofiel vinden voor deze combinatie. In plaats daarvan worden de standaardinstellingen gebruikt." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Oeps!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Er is een fatale fout opgetreden die niet kan worden hersteld!

\n" +#~ "

Hopelijk komt u met de afbeelding van deze kitten wat bij van de schrik.

\n" +#~ "

Gebruik de onderstaande informatie om een bugrapport te plaatsen op http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Voer hieronder de juiste instellingen voor uw printer in:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extruder %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Model printen met" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "U moet de toepassing opnieuw opstarten voordat de taalwijzigingen van kracht worden." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Verplaatst de camera zodanig dat wanneer een model wordt geselecteerd, het model in het midden van het beeld wordt weergegeven" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "&Selectie Verwijderen" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "Bestand &Openen..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "Project &openen..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Model verveelvoudigen" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "A&lles Opslaan" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Bestand openen" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Werkruimte openen" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Hol" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Zonder vulling (0%) blijft uw model hol, wat ten koste gaat van de sterkte" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Licht" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Met lichte vulling (20%) krijgt uw model een gemiddelde sterkte" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Dicht" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Met een dichte vulling (50%) krijgt uw model een bovengemiddelde sterkte" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Solide" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Met solide vulling (100%) is uw model volledig massief" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Supportstructuur inschakelen" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Schakel het printen van een supportstructuur in. Een supportstructuur ondersteunt delen van het model met een zeer grote overhang." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Hulp nodig om betere prints te krijgen? Lees de Ultimaker Troubleshooting Guides (handleiding voor probleemoplossing)" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Via het netwerk verbonden met {0}. Keur de toegangsaanvraag goed op de printer." diff --git a/resources/i18n/nl/fdmextruder.def.json.po b/resources/i18n/nl/fdmextruder.def.json.po index c5a5a2dd5d..bb0b8b3646 100644 --- a/resources/i18n/nl/fdmextruder.def.json.po +++ b/resources/i18n/nl/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: nl\n" +"Language-Team: Dutch\n" +"Language: Dutch\n" +"Lang-Code: nl\n" +"Country-Code: NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "De extruder train die voor het printen wordt gebruikt. Deze wordt gebruikt in meervoudige doorvoer." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Nozzlediameter" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "De binnendiameter van de nozzle. Wijzig deze instelling wanneer u een nozzle gebruikt die geen standaardformaat heeft." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" @@ -145,7 +156,7 @@ msgstr "Z-positie voor Primen Extruder" #: fdmextruder.def.json msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." -msgstr "De Z-coördinaat van de positie waar filament in de nozzle wordt geprimet aan het begin van het printen." +msgstr "De Z-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." #: fdmextruder.def.json msgctxt "platform_adhesion label" @@ -165,7 +176,7 @@ msgstr "X-positie voor Primen Extruder" #: fdmextruder.def.json msgctxt "extruder_prime_pos_x description" msgid "The X coordinate of the position where the nozzle primes at the start of printing." -msgstr "De X-coördinaat van de positie waar filament in de nozzle wordt geprimet aan het begin van het printen." +msgstr "De X-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." #: fdmextruder.def.json msgctxt "extruder_prime_pos_y label" @@ -175,4 +186,4 @@ msgstr "Y-positie voor Primen Extruder" #: fdmextruder.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimet aan het begin van het printen." +msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." diff --git a/resources/i18n/nl/fdmprinter.def.json.po b/resources/i18n/nl/fdmprinter.def.json.po index a71808a772..055a056027 100644 --- a/resources/i18n/nl/fdmprinter.def.json.po +++ b/resources/i18n/nl/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: nl\n" +"Language-Team: Dutch\n" +"Language: Dutch\n" +"Lang-Code: nl\n" +"Country-Code: NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Lijnbreedte Verbindingsstructuur" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Breedte van een enkele lijn van de verbindingsstructuur." +msgid "Width of a single line of support roof or floor." +msgstr "Breedte van een enkele lijn van het supportdak of de supportvloer." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Lijnbreedte supportdak" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Breedte van een enkele lijn van het supportdak." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Lijnbreedte supportvloer" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Breedte van een enkele lijn van de supportvloer." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Een lijst met gehele getallen voor lijnrichtingen die moet worden gebruikt. Elementen uit de lijst worden tijdens het printen van de lagen opeenvolgend gebruikt. Wanneer het einde van de lijst bereikt is, wordt deze weer van voren af aan gestart. De lijstitems zijn gescheiden door komma's en de hele lijst is binnen vierkante haken geplaatst. Standaard wordt een lege lijst gebruikt, wat inhoudt dat de traditionele standaardhoeken (45 en 135 graden voor het lijn- en zigzagpatroon en 45 voor alle andere patronen) worden gebruikt." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Kubische onderverdeling straal" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Spaghettivulling" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Een vermenigvuldiging van de straal vanuit het midden van elk blok om de rand van het model te detecteren, om te bepalen of het blok moet worden onderverdeeld. Een hogere waarde leidt tot meer onderverdelingen en dus tot kleinere blokken." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Print af en toe een deel vulling zodat het filament willekeurig opkrult binnen het object. Hiermee wordt de printtijd verkort. Het gedrag is echter nogal onvoorspelbaar." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Maximale hoek spaghettivulling" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "De maximale hoek ten opzichte van de Z-as van de binnenzijde van de print voor gedeelten die naderhand met spaghettivulling moeten worden gevuld. Wanneer deze waarde wordt verlaagd, worden er op elke laag meer hoekdelen gevuld." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Maximale hoogte spaghettivulling" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "De maximale hoogte van binnenruimte die kan worden gecombineerd en van bovenaf kan worden gevuld." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Spaghetti-uitsparing" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "De offset van de wanden van waaruit de spaghettivulling wordt geprint." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Spaghettidoorvoer" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Past de dichtheid van de spaghettivulling aan. Houd er rekening mee dat de vuldichtheid alleen invloed heeft op de ruimte tussen de lijnen van het vulpatroon, niet op de hoeveelheid doorvoer voor spaghettivulling." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,22 +1274,22 @@ msgstr "Breid skingebieden van de boven- en/of onderskin van een plat oppervlak #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Bovenskin uitbreiden" +msgid "Expand Top Skins Into Infill" +msgstr "Bovenskin uitbreiden naar vulling" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." msgstr "Breid bovenskingebieden (gebieden waarboven zich lucht bevindt) uit, zodat deze de bovenliggende vulling ondersteunen." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Onderskin uitbreiden" +msgid "Expand Bottom Skins Into Infill" +msgstr "Onderskin uitbreiden naar vulling" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." msgstr "Breid onderskingebieden (gebieden waaronder zich lucht bevindt) uit, zodat deze worden verankerd door de boven- en onderliggende vullagen." #: fdmprinter.def.json @@ -1429,7 +1490,7 @@ msgstr "Intreksnelheid" #: fdmprinter.def.json msgctxt "retraction_speed description" msgid "The speed at which the filament is retracted and primed during a retraction move." -msgstr "De snelheid waarmee het filament tijdens een intrekbeweging wordt ingetrokken en geprimet." +msgstr "De snelheid waarmee het filament tijdens een intrekbeweging wordt ingetrokken en geprimed." #: fdmprinter.def.json msgctxt "retraction_retract_speed label" @@ -1449,7 +1510,7 @@ msgstr "Intreksnelheid (Primen)" #: fdmprinter.def.json msgctxt "retraction_prime_speed description" msgid "The speed at which the filament is primed during a retraction move." -msgstr "De snelheid waarmee het filament tijdens een intrekbeweging wordt geprimet." +msgstr "De snelheid waarmee het filament tijdens een intrekbeweging wordt geprimed." #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" @@ -1539,7 +1600,7 @@ msgstr "Primesnelheid bij Wisselen Nozzles" #: fdmprinter.def.json msgctxt "switch_extruder_prime_speed description" msgid "The speed at which the filament is pushed back after a nozzle switch retraction." -msgstr "De snelheid waarmee het filament tijdens een intrekbeweging na het wisselen van de nozzles wordt geprimet." +msgstr "De snelheid waarmee het filament tijdens een intrekbeweging na het wisselen van de nozzles wordt geprimed." #: fdmprinter.def.json msgctxt "speed label" @@ -1638,8 +1699,28 @@ msgstr "Vulsnelheid Verbindingsstructuur" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "De snelheid waarmee de supportdaken en -bodems worden geprint. Als u deze langzamer print, wordt de kwaliteit van de overhang verbeterd." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "De snelheid waarmee de supportdaken en -vloeren worden geprint. Als u deze langzamer print, wordt de kwaliteit van de overhang verbeterd." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Snelheid supportdak" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "De snelheid waarmee de supportdaken worden geprint. Als u deze langzamer print, wordt de kwaliteit van de overhang verbeterd." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Snelheid supportvloer" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "De snelheid waarmee de supportvloer wordt geprint. Als u deze langzamer print, hecht het supportmateriaal beter aan de bovenzijde van het model." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Acceleratie Verbindingsstructuur" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "De acceleratie tijdens het printen van de supportdaken en -bodems. Als u deze met een lagere acceleratie print, wordt de kwaliteit van de overhang verbeterd." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "De acceleratie tijdens het printen van de supportdaken en -vloeren. Als u deze met een lagere acceleratie print, wordt de kwaliteit van de overhang verbeterd." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Acceleratie supportdak" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "De acceleratie tijdens het printen van de supportdaken. Als u deze met een lagere acceleratie print, wordt de kwaliteit van de overhang verbeterd." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Acceleratie supportvloer" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "De acceleratie tijdens het printen van de supportvloeren. Als u deze met een lagere acceleratie print, hecht het supportmateriaal beter aan de bovenzijde van het model." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,8 +2099,28 @@ msgstr "Schok Verbindingsstructuur" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de supportdaken- en bodems." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de supportdaken en -vloeren." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Schok supportdak" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de supportdaken." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Schok supportvloer" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de supportvloeren." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2449,13 @@ msgstr "Supportstructuur" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Supportstructuur Inschakelen" +msgid "Generate Support" +msgstr "Support genereren" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Schakel het printen van een supportstructuur in. Een supportstructuur ondersteunt delen van het model met een zeer grote overhang." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Genereer structuren om delen van het model met overhang te ondersteunen. Zonder deze structuren zakken dergelijke delen in tijdens het printen." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Extruder Verbindingsstructuur" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "De extruder train die wordt gebruikt voor het printen van de daken en bodems van de supportstructuur. Deze optie wordt gebruikt in meervoudige doorvoer." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "De extruder train die wordt gebruikt voor het printen van de daken en vloeren van de supportstructuur. Deze optie wordt gebruikt in meervoudige doorvoer." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Extruder supportdak" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "De extruder train die wordt gebruikt voor het printen van de supportdaken. Deze optie wordt gebruikt in meervoudige doorvoer." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Extruder supportvloer" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "De extruder train die wordt gebruikt voor het printen van de supportvloeren. Deze optie wordt gebruikt in meervoudige doorvoer." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Hoogte Traptreden Supportstructuur" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "De hoogte van de treden van het trapvormige grondvlak van de supportstructuur die op het model rust. Wanneer u een lage waarde invoert, kan de supportstructuur minder gemakkelijk worden verwijderd. Wanneer u echter een te hoge waarde invoert, kan de supportstructuur instabiel worden." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "De hoogte van de treden van het trapvormige grondvlak van de supportstructuur die op het model rust. Wanneer u een lage waarde invoert, kan de supportstructuur minder gemakkelijk worden verwijderd. Wanneer u echter een te hoge waarde invoert, kan de supportstructuur instabiel worden. Stel deze waarde in op nul om het trapvormige gedrag uit te schakelen." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Maximale breedte traptreden supportstructuur" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "De maximale breedte van de treden van het trapvormige grondvlak van de supportstructuur die op het model rust. Wanneer u een lage waarde invoert, kan de supportstructuur minder gemakkelijk worden verwijderd. Wanneer u echter een te hoge waarde invoert, kan de supportstructuur instabiel worden." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Hiermee maakt u een dichte verbindingsstructuur tussen het model en de supportstructuur. Er wordt een skin gemaakt aan de bovenkant van de supportstructuur waarop het model wordt geprint en op de bodem van de supportstructuur waar dit op het model rust." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Supportdak inschakelen" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Genereer een dichte materiaallaag tussen de bovenzijde van de supportstructuur en het model. Hierdoor wordt een skin gemaakt tussen het model en de supportstructuur." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Supportvloer inschakelen" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Genereer een dichte materiaallaag tussen de onderzijde van de supportstructuur en het model. Hierdoor wordt een skin gemaakt tussen het model en de supportstructuur." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "De dikte van de supportdaken. Hiermee wordt het aantal dichte lagen bepa #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Dikte Supportbodem" +msgid "Support Floor Thickness" +msgstr "Dikte supportvloer" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "De dikte van de supportbodems. Hiermee wordt het aantal dichte lagen bepaald dat wordt geprint op plekken van een model waarop een supportstructuur rust." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "De dikte van de supportvloeren. Hiermee wordt het aantal dichte lagen bepaald dat wordt geprint op plekken van een model waarop een supportstructuur rust." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Resolutie Verbindingsstructuur" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Maak, tijdens het controleren waar zich boven de supportstructuur delen van het model bevinden, treden van de opgegeven hoogte. Lagere waarden slicen lager, terwijl door hogere waarden mogelijk normale supportstructuur wordt geprint op plekken waar een verbindingsstructuur had moeten zijn." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Maak treden van de opgegeven hoogte tijdens het controleren waar zich boven en onder de supportstructuur delen van het model bevinden. Lagere waarden slicen lager, terwijl door hogere waarden mogelijk normale supportstructuur wordt geprint op plekken waar een verbindingsstructuur had moeten zijn." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Dichtheid Verbindingsstructuur" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Hiermee past u de dichtheid van de daken en bodems van de supportstructuur aan. Met een hogere waarde krijgt u een betere overhang, maar is de supportstructuur moeilijker te verwijderen." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Past de dichtheid van de daken en vloeren van de supportstructuur aan. Met een hogere waarde krijgt u een betere overhang, maar is de supportstructuur moeilijker te verwijderen." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Lijnafstand Verbindingsstructuur" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Dichtheid supportdak" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "De afstand tussen de geprinte lijnen van de verbindingsstructuur. Deze instelling wordt berekend op basis van de dichtheid van de verbindingsstructuur, maar kan onafhankelijk worden aangepast." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "De dichtheid van de daken van de supportstructuur. Met een hogere waarde krijgt u een betere overhang, maar is de supportstructuur moeilijker te verwijderen." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Lijnafstand supportdak" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "De afstand tussen de geprinte lijnen van het supportdak. Deze instelling wordt berekend op basis van de dichtheid van het supportdak, maar kan onafhankelijk worden aangepast." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Dichtheid supportvloer" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "De dichtheid van de vloeren van de supportstructuur. Met een hogere waarde hecht het supportmateriaal beter aan de bovenzijde van het model." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Lijnafstand supportvloer" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "De afstand tussen de geprinte lijnen van de supportvloer. Deze instelling wordt berekend op basis van de dichtheid van de supportvloer, maar kan onafhankelijk worden aangepast." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zigzag" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Patroon supportdak" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Het patroon waarmee de daken van de supportstructuur worden geprint." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Lijnen" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Raster" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Driehoeken" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Concentrisch" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentrisch 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zigzag" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Patroon supportvloer" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Het patroon waarmee de vloeren van de supportstructuur worden geprint." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Lijnen" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Raster" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Driehoeken" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concentrisch" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concentrisch 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zigzag" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Hechting" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Primeblob inschakelen" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Hiermee bepaalt u of het filament voor het printen met een blob wordt geprimed. Met het inschakelen van deze instelling wordt verzekerd dat er vanuit de extruder materiaal bij de nozzle beschikbaar is voordat het printen start. Het printen van een brim of skirt kan tevens fungeren als primen. In dat geval kan door het uitschakelen van deze instelling tijd worden bespaard." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -2744,7 +3035,7 @@ msgstr "X-positie voor Primen Extruder" #: fdmprinter.def.json msgctxt "extruder_prime_pos_x description" msgid "The X coordinate of the position where the nozzle primes at the start of printing." -msgstr "De X-coördinaat van de positie waar filament in de nozzle wordt geprimet aan het begin van het printen." +msgstr "De X-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." #: fdmprinter.def.json msgctxt "extruder_prime_pos_y label" @@ -2754,7 +3045,7 @@ msgstr "Y-positie voor Primen Extruder" #: fdmprinter.def.json msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." -msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimet aan het begin van het printen." +msgstr "De Y-coördinaat van de positie waar filament in de nozzle wordt geprimed aan het begin van het printen." #: fdmprinter.def.json msgctxt "adhesion_type label" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Hiermee wordt bepaald welk vulraster wordt gebruikt binnen de vulling van een ander vulraster. Met een vulraster dat voorrang heeft, wordt de vulling van andere vulrasters en normale rasters aangepast." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Snijdend raster" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Beperk het volume van dit raster binnen andere rasters. U kunt dit gebruiken om bepaalde delen van een raster met andere instellingen en met een andere extruder te printen." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Matrijs" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Print modellen als matrijs, die vervolgens kan worden gegoten om een model te krijgen dat lijkt op de modellen op het platform." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Minimale matrijsbreedte" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "De minimale afstand tussen de buitenzijde van de matrijs en de buitenzijde van het model." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Dakhoogte matrijs" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "De hoogte die in de matrijs moet worden geprint boven de horizontale delen in het model." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Matrijshoek" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "De hoek van de overhang van de buitenwanden die voor de matrijs worden gemaakt. Met 0° is de buitenshell van de matrijs verticaal, terwijl met 90° de buitenzijde van de matrijs de contouren van het model volgt." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Gebruik dit raster om steunvlakken op te geven. Deze functie kan worden gebruikt om supportstructuur te genereren." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Supportraster verlagen" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Maak overal onder het supportraster support zodat er in het supportraster geen overhang is." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Buitencontour Spiraliseren" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Met spiraliseren wordt de Z-beweging van de buitenrand vloeiender. Hierdoor ontstaat een geleidelijke Z-verhoging over de hele print. Met deze functie maakt u van een massief model een enkelwandige print met een solide bodem. In oudere versies heet deze functie 'Joris'." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Met spiraliseren wordt de Z-beweging van de buitenrand vloeiender. Hierdoor ontstaat een geleidelijke Z-verhoging over de hele print. Met deze functie maakt u van een massief model een enkelwandige print met een solide bodem. Deze functie dient alleen te worden ingeschakeld wanneer elke laag uit een enkel deel bestaat." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Gespiraliseerde contouren effenen" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Maak de gespiraliseerde contouren vlak om de zichtbaarheid van de Z-naad te verminderen (de Z-naad mag in de print nauwelijks zichtbaar zijn, maar is nog wel zichtbaar in de laagweergave). Houd er rekening mee dat fijne oppervlaktedetails worden vervaagd door het effenen." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Omzettingsmatrix die moet worden toegepast op het model wanneer dit wordt geladen vanuit een bestand." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Breedte van een enkele lijn van de verbindingsstructuur." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Kubische onderverdeling straal" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Een vermenigvuldiging van de straal vanuit het midden van elk blok om de rand van het model te detecteren, om te bepalen of het blok moet worden onderverdeeld. Een hogere waarde leidt tot meer onderverdelingen en dus tot kleinere blokken." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Bovenskin uitbreiden" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Breid bovenskingebieden (gebieden waarboven zich lucht bevindt) uit, zodat deze de bovenliggende vulling ondersteunen." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Onderskin uitbreiden" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Breid onderskingebieden (gebieden waaronder zich lucht bevindt) uit, zodat deze worden verankerd door de boven- en onderliggende vullagen." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "De snelheid waarmee de supportdaken en -bodems worden geprint. Als u deze langzamer print, wordt de kwaliteit van de overhang verbeterd." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "De acceleratie tijdens het printen van de supportdaken en -bodems. Als u deze met een lagere acceleratie print, wordt de kwaliteit van de overhang verbeterd." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "De maximale onmiddellijke snelheidsverandering tijdens het printen van de supportdaken- en bodems." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Supportstructuur Inschakelen" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Schakel het printen van een supportstructuur in. Een supportstructuur ondersteunt delen van het model met een zeer grote overhang." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "De extruder train die wordt gebruikt voor het printen van de daken en bodems van de supportstructuur. Deze optie wordt gebruikt in meervoudige doorvoer." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "De hoogte van de treden van het trapvormige grondvlak van de supportstructuur die op het model rust. Wanneer u een lage waarde invoert, kan de supportstructuur minder gemakkelijk worden verwijderd. Wanneer u echter een te hoge waarde invoert, kan de supportstructuur instabiel worden." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Dikte Supportbodem" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "De dikte van de supportbodems. Hiermee wordt het aantal dichte lagen bepaald dat wordt geprint op plekken van een model waarop een supportstructuur rust." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Maak, tijdens het controleren waar zich boven de supportstructuur delen van het model bevinden, treden van de opgegeven hoogte. Lagere waarden slicen lager, terwijl door hogere waarden mogelijk normale supportstructuur wordt geprint op plekken waar een verbindingsstructuur had moeten zijn." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Hiermee past u de dichtheid van de daken en bodems van de supportstructuur aan. Met een hogere waarde krijgt u een betere overhang, maar is de supportstructuur moeilijker te verwijderen." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Lijnafstand Verbindingsstructuur" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "De afstand tussen de geprinte lijnen van de verbindingsstructuur. Deze instelling wordt berekend op basis van de dichtheid van de verbindingsstructuur, maar kan onafhankelijk worden aangepast." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Met spiraliseren wordt de Z-beweging van de buitenrand vloeiender. Hierdoor ontstaat een geleidelijke Z-verhoging over de hele print. Met deze functie maakt u van een massief model een enkelwandige print met een solide bodem. In oudere versies heet deze functie 'Joris'." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "De temperatuur waarmee wordt geprint. Stel deze optie in op 0 om de printer handmatig voor te verwarmen." diff --git a/resources/i18n/ptbr/cura.po b/resources/i18n/ptbr/cura.po index 681249d0c4..81727fb866 100644 --- a/resources/i18n/ptbr/cura.po +++ b/resources/i18n/ptbr/cura.po @@ -1,18 +1,19 @@ -# Portuguese translation for Cura. -# Copyright (C) 2016, 2017 +# Cura +# Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. -# FIRST AUTHOR , 2016. -# SECOND AUTHOR , 2017. +# Ruben Dulek , 2017. # msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-09 18:00-0300\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-13 18:20-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: LANGUAGE \n" -"Language: ptbr\n" +"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language: Brazillian Portuguese\n" +"Lang-Code: pt\n" +"Country-Code: BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -28,7 +29,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Permite mudar ajustes da máquina (tais como volume de construção, tamanho do bico, etc)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Ajustes da Máquina" @@ -129,6 +130,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Mostrar registro de alterações" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Achatador de Perfil" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Faz um perfil plano com as mudanças de qualidade." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Achatar os ajustes ativos" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "O perfil foi achatado & ativado." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -159,17 +180,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Conectado via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Incapaz de iniciar novo trabalho porque a impressora está ocupada ou não conectada." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Esta impressora não suporta impressão USB porque usa G-Code UltiGCode." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Incapaz de iniciar um novo trabalho porque a impressora não suporta impressão USB." @@ -206,49 +227,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Salvar em Unidade Removível {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Salvando em Unidade Removível {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Incapaz de salvar para {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Salvo em Unidade Removível {0} como {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Ejetar" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Ejetar dispositivo removível {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Não foi possível salvar em unidade removível {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "{0} ejetado. A unidade agora pode ser removida de forma segura." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -328,152 +349,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envia pedido de acesso à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado pela rede. Por favor aprove a requisição de acesso na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado pela rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado pela rede. Sem acesso para controlar a impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Pedido de acesso foi negado na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Pedido de acesso falhou devido a tempo esgotado." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "A conexão à rede foi perdida." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "A conexão com a impressora foi perdida. Verifique se sua impressora está conectada." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Incapaz de iniciar um novo trabalho de impressão, a impressora está ocupada. O estado atual da impressora é %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Incapaz de iniciar um novo trabalho de impressão. Não há PrinterCore carregado no slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Incapaz de iniciar um novo trabalho de impressão. Nenhum Printcore carregado no slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Incapaz de iniciar um novo trabalho de impressão. Não há material carregado no slot {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Não há material suficiente para o carretel {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "PrintCore diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} não está calibrado corretamente. A calibração XY precisa ser executada na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Tem certeza que quer imprimir com a configuração selecionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "Há divergências entre a configuração ou calibração da impressora e do Cura. Para melhores resultados, sempre fatie com os PrintCores e materiais que estão carregados em sua impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuração divergente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando dados à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Incapaz de enviar dados à impressora. Há outro trabalho de impressão ativo?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Abortando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Impressão abortada. Por favor verifique a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Pausando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Continuando impressão..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar com a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Deseja usar a configuração atual de sua impressora no Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "Os PrintCores e/ou materiais na sua impressora divergem dos de seu projeto atual. Para melhores resultados, sempre fatie para os PrintCores e materiais que estão carregados em sua impressora." @@ -527,12 +548,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Fechar" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Perfis de Material" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Permite ler e escrever perfis de material baseado em XML." @@ -583,20 +604,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Camadas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "O Cura não mostra as camadas corretamente quando Impressão em Arame estiver habilitada" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Atualizar versão 2.4 para 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Atualização de Versão de 2.5 para 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Atualiza as configurações do Cura 2.4 para o Cura 2.5" +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Atualiza configurações do Cura 2.5 para Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -611,7 +632,7 @@ msgstr "Atualiza configurações do Cura 2.1 para o Cura 2.2." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py:14 msgctxt "@label" msgid "Version Upgrade 2.2 to 2.4" -msgstr "Atualização de versão do 2.2 para 2.4" +msgstr "Atualização de versão de 2.2 para 2.4" #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py:17 msgctxt "@info:whatsthis" @@ -653,24 +674,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagem GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "O material selecionado é incompatível com a máquina ou configuração selecionada." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Incapaz de fatiar com os ajustes atuais. Os seguintes ajustes têm erros: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Incapaz de fatiar porque a torre de purga ou posição de purga são inválidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nada a fatiar porque nenhum dos modelos cabe no volume de impressão. Por favor redimensione ou rotacione os modelos para caberem." @@ -685,8 +706,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Proporciona a ligação da interface com o backend de fatiamento CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Processando Camadas" @@ -711,36 +732,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Configurar ajustes por Modelo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "Leitor de 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Provê suporte à leitura de arquivos 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Arquivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Bico" @@ -775,11 +796,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Arquivo G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Interpretando G-Code" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "Assegure que o g-code é adequado para sua impressora e configuração antes de enviar o arquivo. A representação de g-code pode não ser acurada." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -796,41 +822,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil do Cura" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "Gerador 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Provê suporte para escrever arquivos 3MF." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "Arquivo 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Arquivo de Projeto 3MF do Cura" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ações de máquina Ultimaker" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Provê ações de máquina para impressoras Ultimaker (tais como assistente de nivelamento de mesa, seleção de atualizações, etc.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Selecionar Atualizações" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ações de máquina Ultimaker" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Provê ações de máquina para impressoras Ultimaker (tais como assistente de nivelamento de mesa, seleção de atualizações, etc.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -856,7 +883,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Provê suporte para importar perfis do Cura." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -872,243 +899,312 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Material desconhecido" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Achando novos lugares para objetos" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Incapaz de achar um lugar dentro do volume de construção para todos os objetos" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "O Arquivo Já Existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "O arquivo {0} já existe. Tem certeza que quer sobrescrevê-lo?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Incapaz de encontrar um perfil de qualidade para esta combinação. Ajustes default serão usados no lugar." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Material Personalizado" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Falha na exportação de perfil para {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Falha na exportação de perfil para {0}: Complemento de gravação acusou falha." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Perfil exportado para {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Falha na importação de perfil de {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado com sucesso" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "O Perfil {0} tem tipo de arquivo desconhecido ou está corrompido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Falta um tipo de qualidade ao Perfil." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Não foi possível encontrar tipo de qualidade {0} para a configuração atual." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "A altura do volume de impressão foi reduzida para que o valor da \"Sequência de Impressão\" impeça o eixo de colidir com os modelos impressos." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Oops!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Multiplicando e colocando objetos" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Relatório de Quebra" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " msgstr "" -"

Uma exceção fatal ocorreu e não foi possível a recuperação deste estado!

\n" -"

Esperamos que esta figura de um gatinho te ajude a se recuperar do choque.

\n" -"

Por favor use a informação abaixo para postar um relatório de bug em http://github.com/Ultimaker/Cura/issues

\n" +"

Uma exceção fatal ocorreu e não foi possível haver recuperação!

\n" +"

Por favor use a informação abaixo para publicar um relatório de erro em http://github.com/Ultimaker/Cura/issues

\n" " " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Abrir Página Web" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Carregando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando cena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Carregando interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Somente um arquivo G-Code pode ser carregado por vez. Pulando importação de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Não é possível abrir nenhum outro arquivo se G-Code estiver sendo carregado. Pulando importação de {0}" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Ajustes da Máquina" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Por favor introduza os ajustes corretos para sua impressora abaixo:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Impressora" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Ajustes da Impressora" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (anchura)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Profundidade)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Altura)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Forma da Mesa" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Centro da Mesa é Zero" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Mesa Aquecida" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "Tipo de G-Code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Ajustes da Cabeça de Impressão" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X mín." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y mín." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X máx." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y máx." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Altura do eixo" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Número de Extrusores" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Diâmetro do Material" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Tamanho do bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "G-Code Inicial" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "G-Code Final" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Ajustes do Bico" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Deslocamento X do Bico" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Deslocamento Y do Bico" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "G-Code Inicial do Extrusor" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "G-Code Final do Extrusor" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Ajustes de Doodle3D" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Salvar" @@ -1135,7 +1231,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-01-23 10:41-0300\n" -"PO-Revision-Date: 2017-01-23 13:30-0300\n" +"PO-Revision-Date: 2017-06-12 18:30-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: LANGUAGE \n" "Language: ptbr\n" @@ -1162,7 +1258,7 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1215,12 +1311,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Código de erro desconhecido: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar a Impressora de Rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1231,87 +1327,87 @@ msgstr "" "\n" "Selecione sua impressora da lista abaixo:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Adicionar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Remover" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Atualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "Se a sua impressora não está listada, leia o guia de resolução de problemas em impressão de rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Extended" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Desconhecido" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Versão do firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Endereço" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "A impressora neste endereço ainda não respondeu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Endereço da Impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduza o endereço IP ou hostname da sua impressora na rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1356,72 +1452,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Troca os scripts de pós-processamento ativos" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Modo de Visão: Camadas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Esquema de Cores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Cor do Material" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Tipo de Linha" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Modo de Compatibilidade" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Extrusor %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Mostrar Viagens" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Mostrar Assistentes" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Mostrar Perímetro" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Mostrar Preenchimento" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Somente Mostrar Camadas Superiores" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Mostrar 5 Camadas Superiores Detalhadas" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Topo / Base" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Parede Interna" @@ -1497,34 +1588,27 @@ msgid "Smoothing" msgstr "Suavização" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "Ok" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Imprimir modelo com" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Selecionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Selecionar Ajustes a Personalizar para este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar tudo" @@ -1534,128 +1618,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Abrir Projeto" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Atualizar existente" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Criar novo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Resumo - Projeto do Cura" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Ajustes da impressora" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Como o conflito na máquina deve ser resolvido?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Nome" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Ajustes de perfil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Como o conflito no perfil deve ser resolvido?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" -msgstr "Não no perfil" +msgstr "Ausente no perfil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 sobrepujança" msgstr[1] "%1 sobrepujanças" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Derivado de" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 sobrepujança" msgstr[1] "%1, %2 sobrepujanças" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Ajustes de material" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Como o conflito no material deve ser resolvido?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Visibilidade dos ajustes" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Modo" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Ajustes visíveis:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 de %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Carregar um projeto removerá todos os modelos da mesa de impressão" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Abrir" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Seleccionar Atualizações da Impressora" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Por favor selecione quaisquer atualizações feitas nesta Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Bloco Olsson" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1711,11 +1811,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Selecionar firmware personalizado" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Seleccionar Atualizações da Impressora" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1830,7 +1925,7 @@ msgid "Printer does not accept commands" msgstr "A impressora não aceita comandos" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Em manutenção. Por favor verifique a impressora" @@ -1841,19 +1936,19 @@ msgid "Lost connection with the printer" msgstr "A conexão à impressora foi perdida" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Imprimindo..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Pausado" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Preparando..." @@ -1888,12 +1983,12 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Tem certeza que deseja abortar a impressão?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Descartar ou Manter alterações" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" @@ -1902,125 +1997,135 @@ msgstr "" "Você personalizou alguns ajustes de perfil.\n" "Gostaria de manter ou descartar estes ajustes?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Ajustes de perfil" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Default" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Personalizado" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Sempre perguntar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Descartar e não perguntar novamente" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Manter e não perguntar novamente" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Descartar" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Manter" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Criar Novo Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Informação" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Mostrar Nome" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marca" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Tipo de Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Cor" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Propriedades" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Densidade" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Diâmetro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Custo do Filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Peso do Filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Comprimento do Filamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Custo por Metro" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Este material está vinculado a %1 e compartilha algumas de suas propriedades." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Desvincular Material" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Descrição" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Informação sobre Aderência" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Ajustes de impressão" @@ -2056,185 +2161,240 @@ msgid "Unit" msgstr "Unidade" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Geral" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Moeda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "A aplicação deverá ser reiniciada para que as alterações de idioma tenham efeito." +msgid "Theme:" +msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "Você precisará reiniciar a aplicação para que essas mudanças tenham efeito." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Fatiar automaticamente quando mudar ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Fatiar automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento da área de visualização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Ressaltar áreas sem suporte do modelo em vermelho. Sem suporte, estas áreas não serão impressas corretamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Exibir seções pendentes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Move a câmera de modo que o modelo esteja no centro da visão quando estiver selecionado" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centralizar câmera quanto o item é selecionado" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "O comportamento default de zoom deve ser invertido?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Inverter a direção do zoom de câmera." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Os modelos devem ser movidos na plataforma de modo que não se sobreponham?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assegurar que os modelos sejam mantidos separados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Os modelos devem ser movidos pra baixo pra se assentar na plataforma de impressão?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automaticamente fazer os modelos caírem na mesa de impressão." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Mostrar mensagem de advertência no leitor de g-code." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Mensagem de advertência no leitor de g-code" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "A Visão de Camada deve ser forçada a ficar em modo de compatibilidade?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forçar modo de compatibilidade da visão de camadas (requer reinício)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrindo e salvando arquivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Os modelos devem ser redimensionados dentro do volume de impressão se forem muito grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Redimensionar modelos grandes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "Um modelo pode ser carregado diminuto se sua unidade for por exemplo em metros ao invés de milímetros. Devem esses modelos ser redimensionados?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Redimensionar modelos diminutos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Um prefixo baseado no nome da impressora deve ser adicionado ao nome do trabalho de impressão automaticamente?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Adicionar prefixo de máquina ao nome do trabalho" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Um resumo deve ser exibido ao salvar um arquivo de projeto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Mostrar diálogo de resumo ao salvar projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Comportamento default ao abrir um arquivo de projeto" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Comportamento default ao abrir um arquivo de projeto" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Sempre perguntar" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Sempre abrir como projeto" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Sempre importar modelos" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "Quando você faz alterações em um perfil e troca para um diferent, um diálogo aparecerá perguntando se você quer manter ou aplicar suas modificações, ou você pode forçar um comportamento default e não ter o diálogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Sobrepujar Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Privacidade" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "O Cura deve verificar novas atualizações quando o programa for iniciado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Verificar atualizações na inicialização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Dados anônimos sobre sua impressão podem ser enviados para a Ultimaker? Nota: nenhuma informação pessoalmente identificável, modelos ou endereços IP são enviados ou armazenados." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar informação (anônima) de impressão." #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Impressoras" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Ativar" @@ -2250,34 +2410,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Tipo de impressora:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Conexão:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "A impressora não está conectada." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Estado:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Esperando que alguém esvazie a mesa de impressão" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Esperando um trabalho de impressão" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfis" @@ -2303,13 +2463,13 @@ msgid "Duplicate" msgstr "Duplicar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Importar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Exportar" @@ -2375,60 +2535,65 @@ msgid "Export Profile" msgstr "Exportar Perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Materiais" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Impressora: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Impressora: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Criar" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Duplicar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Importar Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Não foi possível importar material%1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Material %1 importado com sucesso" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Exportar Material" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Falha ao exportar material para %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Material %1 exportado com sucesso" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Adicionar Impressora" @@ -2443,17 +2608,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Adicionar Impressora" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Parede Externa" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Paredes Internas" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Contorno" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Preenchimento" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Preenchimento de Suporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Interface de Suporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Suporte" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Percurso" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Retrações" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Outros" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00h 00min" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2567,27 +2782,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "Ícones SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Buscar..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Não exibir este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Manter este ajuste visível" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Configurar a visibilidade dos ajustes..." @@ -2665,17 +2885,17 @@ msgid "" "G-code files cannot be modified" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuração Recomendada de Impressão

Imprimir com os ajustes recomendados para a impressora, material e qualidade selecionados." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuração de Impressão Personalizada

Imprimir com controle fino sobre cada parte do processo de fatiamento." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Automático: %1" @@ -2690,6 +2910,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Automático: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Imprimir Modelo Selecionado Com:" +msgstr[1] "Imprimir Modelos Selecionados Com:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplicar Modelo Selecionado" +msgstr[1] "Multiplicar Modelos Selecionados" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Número de Cópias" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2743,7 +2982,7 @@ msgstr "A temperatura atual da mesa aquecida." #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:379 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." -msgstr "A temperatura à qual pré-aquecer a mesa." +msgstr "A temperatura em que pré-aquecer a mesa." #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:573 msgctxt "@button Cancel pre-heating" @@ -2780,171 +3019,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tempo restante estimado" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "A<ernar Tela Cheia" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Des&fazer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Refazer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Sair" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurar Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Adicionar Impressora..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Adm&inistrar Impressoras..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Administrar Materiais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Atualizar perfil com valores e sobrepujanças atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Descartar ajustes atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Criar perfil a partir de ajustes atuais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Administrar perfis..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Exibir &Documentação Online" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Relatar um &Bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "S&obre..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Eliminar &Seleção" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Remover Modelo &Selecionado" +msgstr[1] "Remover Modelos &Selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Centralizar Modelo Selecionado" +msgstr[1] "Centralizar Modelos Selecionados" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Multiplicar Modelo Selecionado" +msgstr[1] "Multiplicar Modelos Selecionados" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" -msgstr "Eliminar Modelo" +msgstr "Remover Modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntralizar Modelo na Mesa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "A&grupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Co&mbinar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplicar Modelo..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Selecionar Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Esvaziar a mesa de impressão" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "&Recarregar Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Posicionar Todos os Modelos" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Posicionar Seleção" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reestabelecer as Posições de Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Remover as &Transformações de Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Abrir Arquivo..." +msgid "&Open File(s)..." +msgstr "Abrir Arquiv&os(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Abrir Projeto..." +msgid "&New Project..." +msgstr "&Novo Projeto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "&Exibir o Registro do Motor de Fatiamento..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Exibir Pasta de Configuração" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar a visibilidade dos ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Multiplicar Modelo" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2975,21 +3235,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Fatiamento indisponível" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Preparar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Selecione o dispositivo de saída ativo" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Abrir arquivo(s)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Encontramos um ou mais arquivo(s) de projeto entre os arquivos que você selecionou. Você só pode abrir um arquivo de projeto por vez. Sugerimos que somente importe modelos destes arquivos. Gostaria de prosseguir?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Importar todos como modelos" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -3000,197 +3276,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Arquivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "Salvar &Seleção em Arquivo" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Salvar &Tudo" +msgid "Save &As..." +msgstr "S&alvar Como..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Salvar projeto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Editar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" -msgstr "A&justes" +msgstr "Aju&stes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" -msgstr "&Impressora" +msgstr "Im&pressora" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Definir Como Extrusor Ativo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensões" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" -msgstr "Pre&ferências" +msgstr "P&referências" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "A&juda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Abrir arquivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Modo de Visualização" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Abrir arquivo" +msgid "New project" +msgstr "Novo projeto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Tem certeza que quer iniciar novo projeto? Isto esvaziará a mesa de impressão e quaisquer ajustes não salvos." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Abrir espaço de trabalho" +msgid "Open File(s)" +msgstr "Abrir Arquivo(s)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Encontramos um ou mais arquivos de G-Code entre os arquivos que você selecionou. Você só pode abrir um arquivo de G-Code por vez. Se você quiser abrir um arquivo de G-Code, por favor selecione somente um." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Salvar Projeto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Extrusor %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & material" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Não exibir resumo do projeto ao salvar novamente" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Preenchimento:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Oco" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Preenchimento zero (0%) deixará seu modelo oco ao custo de baixa resistência" +msgid "0%" +msgstr "0%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Leve" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Preenchimento vazio deixará seu modelo oco e com baixa resistência." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Preenchimento leve (20%) dará ao seu modelo resistência média" +msgid "20%" +msgstr "20%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Denso" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Preenchimento leve (20%) dará ao seu modelo uma resistência média." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Preenchimento denso (50%) dará ao seu modelo resistência acima da média" +msgid "50%" +msgstr "50%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Sólido" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Preenchimento denso (50%) dará ao seu modelo uma resistência acima da média." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Preenchimento sólido (100%) fará seu modelo ficar totalmente maciço." +msgid "100%" +msgstr "100%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Habilitar Suporte" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Preenchimento sólido (100%) fará seu modelo completamente sólido." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Habilitar estruturas de suporte. Estas estruturas apóiam partes do modelo que tenham seções pendentes." +msgid "Gradual" +msgstr "Gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Preenchimento gradual aumentará gradualmente a quantidade de preenchimento em direção ao topo." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Gerar Suportes" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Gera estrutura que suportarão partes do modelo que têm seções pendentes. Sem estas estruturas, tais partes desabariam durante a impressão." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Extrusor do Suporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." -msgstr "Selecione qual extrusor a usar para o suporte. Isto construirá estruturas de suportes abaixo do modelo para prevenir que o modelo caia ou seja impresso no ar." +msgstr "Selecione qual extrusor a usar para o suporte. Isto construirá estruturas de suportes abaixo do modelo para prevenir que o modelo desabe ou seja impresso no ar." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Aderência à Mesa de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita imprimir um brim (bainha) ou raft (jangada). Adicionará uma área chata em volta ou sob o objeto que é fácil de remover após a impressão ter finalizado." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Precisa de ajuda para melhorar suas impressões? Leia o Guia de Solução de Problemas da Ultimaker." +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Precisa de ajuda para melhorar sua impressões?
Leia os Guias de Resolução de Problema da Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Imprimir Modelo Selecionado com %1" +msgstr[1] "Imprimir Modelos Selecionados Com %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Abrir arquivo de projeto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Este é um arquivo de projeto do Cura. Gostaria de abri-lo como um projeto ou importar os modelos dele?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Lembrar de minha escolha" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Abrir como projeto" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Importar modelos" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3203,12 +3531,17 @@ msgctxt "@label" msgid "Material" msgstr "Material" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Clique para verificar a compatibilidade do material em Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3219,6 +3552,130 @@ msgstr "" "\n" "Clique para abrir o gerenciador de perfis." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Incapaz de iniciar um novo trabalho de impressão. Não há PrinterCore carregado no slot {0}" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Atualizar versão 2.4 para 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Atualiza as configurações do Cura 2.4 para o Cura 2.5" + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Incapaz de encontrar um perfil de qualidade para esta combinação. Ajustes default serão usados no lugar." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Oops!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Uma exceção fatal ocorreu e não foi possível a recuperação deste estado!

\n" +#~ "

Esperamos que esta figura de um gatinho te ajude a se recuperar do choque.

\n" +#~ "

Por favor use a informação abaixo para postar um relatório de bug em http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Por favor introduza os ajustes corretos para sua impressora abaixo:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Extrusor %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Imprimir modelo com" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "A aplicação deverá ser reiniciada para que as alterações de idioma tenham efeito." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Move a câmera de modo que o modelo esteja no centro da visão quando estiver selecionado" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "Eliminar &Seleção" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Abrir Arquivo..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Abrir Projeto..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Multiplicar Modelo" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Salvar &Tudo" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Abrir arquivo" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Abrir espaço de trabalho" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Oco" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Preenchimento zero (0%) deixará seu modelo oco ao custo de baixa resistência" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Leve" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Preenchimento leve (20%) dará ao seu modelo resistência média" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Denso" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Preenchimento denso (50%) dará ao seu modelo resistência acima da média" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Sólido" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Preenchimento sólido (100%) fará seu modelo ficar totalmente maciço." + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Habilitar Suporte" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Habilitar estruturas de suporte. Estas estruturas apóiam partes do modelo que tenham seções pendentes." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Precisa de ajuda para melhorar suas impressões? Leia o Guia de Solução de Problemas da Ultimaker." + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Conectado pela rede a {0}. Por favor aprove o pedido de acesso na impressora." diff --git a/resources/i18n/ptbr/fdmextruder.def.json.po b/resources/i18n/ptbr/fdmextruder.def.json.po index 1fb4e413ff..ca22154f2e 100644 --- a/resources/i18n/ptbr/fdmextruder.def.json.po +++ b/resources/i18n/ptbr/fdmextruder.def.json.po @@ -1,13 +1,19 @@ -#, fuzzy +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-10 09:05-0300\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-11 12:00-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: LANGUAGE\n" -"Language: ptbr\n" +"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language: Brazillian Portuguese\n" +"Lang-Code: pt\n" +"Country-Code: BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -33,6 +39,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "O extrusor usado para impressão. Isto é usado em multi-extrusão." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Diâmetro do Bico" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "O diâmetro interno do bico. Altere este ajuste se usar um tamanho de bico fora do padrão." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/ptbr/fdmprinter.def.json.po b/resources/i18n/ptbr/fdmprinter.def.json.po index a3607ccac5..4431552fce 100644 --- a/resources/i18n/ptbr/fdmprinter.def.json.po +++ b/resources/i18n/ptbr/fdmprinter.def.json.po @@ -1,12 +1,19 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-10 19:00-0300\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-13 14:00-0300\n" "Last-Translator: Cláudio Sampaio \n" -"Language-Team: LANGUAGE\n" -"Language: ptbr\n" +"Language-Team: Cláudio Sampaio and CoderSquirrel \n" +"Language: Brazillian Portuguese\n" +"Lang-Code: pt\n" +"Country-Code: BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +685,28 @@ msgstr "Largura de Extrusão da Interface do Suporte" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Largura de extrusão de um filete usado na interface da estrutura de suporte com o modelo." +msgid "Width of a single line of support roof or floor." +msgstr "Largura de um filete usado no teto ou base do suporte." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Largura de Extrusão do Teto do Suporte" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Largura de um filete usado no teto do suporte." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Largura de Extrusão da Base do Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Largura de um filete usado na base do suporte." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -689,7 +716,7 @@ msgstr "Largura de Extrusão da Torre de Purga" #: fdmprinter.def.json msgctxt "prime_tower_line_width description" msgid "Width of a single prime tower line." -msgstr "Largura de extrusão de um filete usado na torre de purga." +msgstr "Largura de um filete usado na torre de purga." #: fdmprinter.def.json msgctxt "shell label" @@ -729,7 +756,7 @@ msgstr "Distância de Varredura da Parede Externa" #: fdmprinter.def.json msgctxt "wall_0_wipe_dist description" msgid "Distance of a travel move inserted after the outer wall, to hide the Z seam better." -msgstr "Distância de um movimento de viagem inserido após a parede externa para esconder melhor a costura em Z." +msgstr "Distância do percurso inserido após a parede externa para esconder melhor a costura em Z." #: fdmprinter.def.json msgctxt "top_bottom_thickness label" @@ -1074,22 +1101,62 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "infill_angles label" msgid "Infill Line Directions" -msgstr "" +msgstr "Direções de Filetes de Preenchimento" #: fdmprinter.def.json msgctxt "infill_angles description" msgid "A list of integer line directions to use. 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 for the lines and zig zag patterns and 45 degrees for all other patterns)." -msgstr "" +msgstr "Uma lista de direções de filetes em números inteiros a usar. Elementos da lista são usados sequencialmente de acordo com o progresso das camadas e quando o fim da lista é alcançado, ela volta ao começo. Os itens da lista são separados por vírgula e a lista inteira é contida em colchetes. O default é uma lista vazia que implica em usar os ângulos default tradicionais (45 e 135 graus para os padrões linha e ziguezague e 45 graus para todos os outros padrões)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Raio de Subdivisão Cúbica" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Preenchimento em Espaguete" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Um multiplicador do raio do centro de cada cubo para verificar a borda do modelo, de modo a decidir se este cubo deve ser subdividido. Valores maiores levam a maiores subdivisões, isto é, mais cubos pequenos." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Imprime o preenchimento intermitentemente de modo que o filamento se enrole caoticamente dentro do objeto. Isto reduz o tempo de impressão, mas tem comportamento bem imprevisível." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Ângulo de Preenchimento Máximo do Espaguete" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "O ângulo máximo em relação ao Z do interior da impressão para áreas que serão preenchidas com espaguete no final. Abaixar este valor faz com que mais partes anguladas do seu modelo sejam preenchidas a cada camada." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Altura Máxima do Preenchimento Espaguete" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "A altura máxima do espaço interior que pode ser combinado e preenchido a partir do topo." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Penetração do Espaguete" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "O deslocamento a partir das paredes de onde o preenchimento espaguete será impresso." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Fluxo de Espaguete" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Ajusta a densidade do preenchimento espaguete. Note que a Densidade de Preenchimento controla somente o espaçamento entre linhas do padrão de preenchimento, não a quantidade de extrusão para o preenchimento espaguete." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1149,7 +1216,7 @@ msgstr "Distância de Varredura do Preenchimento" #: fdmprinter.def.json msgctxt "infill_wipe_dist description" msgid "Distance of a travel move inserted after every infill line, to make the infill stick to the walls better. This option is similar to infill overlap, but without extrusion and only on one end of the infill line." -msgstr "Distância de um movimento de viagem inserido após cada linha de preenchimento, para fazer o preenchimento aderir melhor às paredes. Esta opção é similar à sobreposição de preenchimento mas sem extrusão e somente em uma extremidade do filete de preenchimento." +msgstr "Distância do percurso inserido após cada linha de preenchimento, para fazer o preenchimento aderir melhor às paredes. Esta opção é similar à sobreposição de preenchimento mas sem extrusão e somente em uma extremidade do filete de preenchimento." #: fdmprinter.def.json msgctxt "infill_sparse_thickness label" @@ -1213,23 +1280,23 @@ msgstr "Expandir áreas de perímetro das partes superiores e inferiores de supe #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Expandir Contornos Superiores" +msgid "Expand Top Skins Into Infill" +msgstr "Expandir Contorno do Topo Para Preenchimento" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." -msgstr "Expandir as áreas de contorno superiores (áreas com ar acima) de modo que suportem o preenchimento acima." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "Expande as áreas de perímetro do topo (áreas com ar acima delas) de modo que suportem o preenchimento de cima." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Expandir Contornos Inferiores" +msgid "Expand Bottom Skins Into Infill" +msgstr "Expande Contorno da Base Para Preenchimento" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Expandir as áreas de contorno inferiores (áreas com ar abaixo) de modo que fiquem ancoradas pelas camadas de preenchimento acima e abaixo." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "Expande as áreas de perímetro da base (áreas com ar abaixo delas) de modo que se ancorem nas camadas de preenchimento embaixo e acima." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1459,17 +1526,17 @@ msgstr "Quantidade Adicional de Avanço da Retração" #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount description" msgid "Some material can ooze away during a travel move, which can be compensated for here." -msgstr "Alguns materiais podem escorrer um pouco durante um movimento de viagem, o que pode ser compensando neste ajuste." +msgstr "Alguns materiais podem escorrer um pouco durante o percurso, o que pode ser compensando neste ajuste." #: fdmprinter.def.json msgctxt "retraction_min_travel label" msgid "Retraction Minimum Travel" -msgstr "Viagem Mínima para Retração" +msgstr "Percurso Mínimo para Retração" #: fdmprinter.def.json msgctxt "retraction_min_travel description" msgid "The minimum distance of travel needed for a retraction to happen at all. This helps to get fewer retractions in a small area." -msgstr "A distância mínima de viagem necessária para que uma retração aconteça. Isto ajuda a ter menos retrações em uma área pequena." +msgstr "A distância mínima de percurso necessária para que uma retração aconteça. Isto ajuda a ter menos retrações em uma área pequena." #: fdmprinter.def.json msgctxt "retraction_count_max label" @@ -1638,8 +1705,28 @@ msgstr "Velocidade da Interface de Suporte" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "A velocidade em que o topo e base dos suportes são impressos. Imprimi-lo a menores velocidade pode melhor a qualidade das seções pendentes." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "A velocidade com que os tetos e bases do suporte são impressos. Imprimi-los em velocidades mais baixas pode melhorar a qualidade de seções pendentes." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Velocidade do Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "A velocidade em que os tetos dos suportes são impressos. Imprimi-los em velocidade mais baixas pode melhorar a qualidade de seções pendentes." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Velocidade de Base do Suporte" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "A velocidade em que a base do suporte é impressa. Imprimi-la em velocidade mais baixa pode melhorar a aderência do suporte no topo da superfície." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1654,12 +1741,12 @@ msgstr "A velocidade em que a torre de purga é impressa. Imprimir a torre de pu #: fdmprinter.def.json msgctxt "speed_travel label" msgid "Travel Speed" -msgstr "Velocidade de Viagem" +msgstr "Velocidade de Percurso" #: fdmprinter.def.json msgctxt "speed_travel description" msgid "The speed at which travel moves are made." -msgstr "Velocidade em que ocorrem os movimentos de viagem (movimentação do extrusor sem extrudar)." +msgstr "Velocidade em que ocorrem os movimentos de percurso." #: fdmprinter.def.json msgctxt "speed_layer_0 label" @@ -1684,12 +1771,12 @@ msgstr "A velocidade de impressão para a camada inicial. Um valor menor é acon #: fdmprinter.def.json msgctxt "speed_travel_layer_0 label" msgid "Initial Layer Travel Speed" -msgstr "Velocidade de Viagem da Camada Inicial" +msgstr "Velocidade de Percurso da Camada Inicial" #: fdmprinter.def.json msgctxt "speed_travel_layer_0 description" msgid "The speed of travel moves in the initial layer. A lower value is advised to prevent pulling previously printed parts away from the build plate. The value of this setting can automatically be calculated from the ratio between the Travel Speed and the Print Speed." -msgstr "A velocidade dos movimentos de viagem da camada inicial. Um valor mais baixo que o normal é aconselhado para prevenir o puxão de partes impressas da mesa de impressão. O valor deste ajuste pode ser automaticamente calculado do raio entre a Velocidade de Viagem e a Velocidade de Impressão." +msgstr "A velocidade dos percursos da camada inicial. Um valor mais baixo que o normal é aconselhado para prevenir o puxão de partes impressas da mesa de impressão. O valor deste ajuste pode ser automaticamente calculado do raio entre a Velocidade de Percurso e a Velocidade de Impressão." #: fdmprinter.def.json msgctxt "skirt_brim_speed label" @@ -1838,8 +1925,28 @@ msgstr "Aceleração da Interface de Suporte" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Aceleração com que o topo e base dos suportes são impressos. Imprimi-lo a menores acelerações pode aprimorar a qualidade das seções pendentes." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "A aceleração com que os tetos e bases de suporte são impressos. Imprimi-los em aceleração menor pode melhorar a qualidade das seções pendentes." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Aceleração do Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "A aceleração com que os tetos de suporte são impressos. Imprimi-los em aceleração menor pode melhorar a qualidade das seções pendentes." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Aceleração da Base do Suporte" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "A aceleração com que as bases do suporte são impressas. Imprimi-las em aceleração menor pode melhorar aderência dos suportes no topo da superfície." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1854,12 +1961,12 @@ msgstr "Aceleração com que a torre de purga é impressa." #: fdmprinter.def.json msgctxt "acceleration_travel label" msgid "Travel Acceleration" -msgstr "Aceleração de Viagem" +msgstr "Aceleração de Percurso" #: fdmprinter.def.json msgctxt "acceleration_travel description" msgid "The acceleration with which travel moves are made." -msgstr "Aceleração com que se realizam os movimentos de viagem." +msgstr "Aceleração com que se realizam os percursos." #: fdmprinter.def.json msgctxt "acceleration_layer_0 label" @@ -1884,12 +1991,12 @@ msgstr "Aceleração durante a impressão da camada inicial." #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 label" msgid "Initial Layer Travel Acceleration" -msgstr "Aceleração de Viagem da Camada Inicial" +msgstr "Aceleração de Percurso da Camada Inicial" #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "Aceleração para movimentos de viagem na camada inicial." +msgstr "Aceleração para percursos na camada inicial." #: fdmprinter.def.json msgctxt "acceleration_skirt_brim label" @@ -1939,7 +2046,7 @@ msgstr "Jerk da Parede" #: fdmprinter.def.json msgctxt "jerk_wall description" msgid "The maximum instantaneous velocity change with which the walls are printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que as paredes são impressas." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que as paredes são impressas." #: fdmprinter.def.json msgctxt "jerk_wall_0 label" @@ -1949,7 +2056,7 @@ msgstr "Jerk da Parede Exterior" #: fdmprinter.def.json msgctxt "jerk_wall_0 description" msgid "The maximum instantaneous velocity change with which the outermost walls are printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que a parede externa é impressa." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que a parede externa é impressa." #: fdmprinter.def.json msgctxt "jerk_wall_x label" @@ -1959,7 +2066,7 @@ msgstr "Jerk das Paredes Internas" #: fdmprinter.def.json msgctxt "jerk_wall_x description" msgid "The maximum instantaneous velocity change with which all inner walls are printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que as paredes internas são impressas." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que as paredes internas são impressas." #: fdmprinter.def.json msgctxt "jerk_topbottom label" @@ -1969,7 +2076,7 @@ msgstr "Jerk Superior/Inferior" #: fdmprinter.def.json msgctxt "jerk_topbottom description" msgid "The maximum instantaneous velocity change with which top/bottom layers are printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que as camadas superiores e inferiores são impressas." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que as camadas superiores e inferiores são impressas." #: fdmprinter.def.json msgctxt "jerk_support label" @@ -1979,7 +2086,7 @@ msgstr "Jerk do Suporte" #: fdmprinter.def.json msgctxt "jerk_support description" msgid "The maximum instantaneous velocity change with which the support structure is printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que as estruturas de suporte são impressas." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que as estruturas de suporte são impressas." #: fdmprinter.def.json msgctxt "jerk_support_infill label" @@ -1989,7 +2096,7 @@ msgstr "Jerk de Preenchimento de Suporte" #: fdmprinter.def.json msgctxt "jerk_support_infill description" msgid "The maximum instantaneous velocity change with which the infill of support is printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que o preenchimento do suporte é impresso." +msgstr "A máxima mudança de velocidade instantânea em uma direção com que o preenchimento do suporte é impresso." #: fdmprinter.def.json msgctxt "jerk_support_interface label" @@ -1998,8 +2105,28 @@ msgstr "Jerk da Interface de Suporte" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que a base e o topo dos suporte é impresso." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "A máxima mudança de velocidade instantânea com a qual os tetos e bases dos suportes são impressos." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Jerk do Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "A máxima mudança de velocidade instantânea com que os tetos dos suportes são impressos." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Jerk da Base do Suporte" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "A máxima mudança de velocidade instantânea com que as bases dos suportes são impressas." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2014,12 +2141,12 @@ msgstr "A mudança instantânea máxima de velocidade em uma direção com que a #: fdmprinter.def.json msgctxt "jerk_travel label" msgid "Travel Jerk" -msgstr "Jerk de Viagem" +msgstr "Jerk de Percurso" #: fdmprinter.def.json msgctxt "jerk_travel description" msgid "The maximum instantaneous velocity change with which travel moves are made." -msgstr "A mudança instantânea máxima de velocidade em uma direção com que os movimentos de viagem são feitos." +msgstr "A mudança instantânea máxima de velocidade em uma direção com que os percursos são feitos." #: fdmprinter.def.json msgctxt "jerk_layer_0 label" @@ -2044,12 +2171,12 @@ msgstr "A mudança instantânea máxima de velocidade em uma direção durante a #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 label" msgid "Initial Layer Travel Jerk" -msgstr "Jerk de Viagem da Camada Inicial" +msgstr "Jerk de Percurso da Camada Inicial" #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "A mudança instantânea máxima de velocidade em uma direção nos movimentos de viagem da camada inicial." +msgstr "A mudança instantânea máxima de velocidade em uma direção nos percursos da camada inicial." #: fdmprinter.def.json msgctxt "jerk_skirt_brim label" @@ -2064,12 +2191,12 @@ msgstr "A mudança instantânea máxima de velocidade em uma direção com que o #: fdmprinter.def.json msgctxt "travel label" msgid "Travel" -msgstr "Viagem" +msgstr "Percurso" #: fdmprinter.def.json msgctxt "travel description" msgid "travel" -msgstr "viagem" +msgstr "percurso" #: fdmprinter.def.json msgctxt "retraction_combing label" @@ -2079,7 +2206,7 @@ msgstr "Modo de Combing" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas by combing within the infill only." -msgstr "O Combing, ou penteamento, mantém o bico dentro de áreas já impressas quando viaja. Isso resulta em movimentos de viagem ligeiramente mais longos mas reduz a necessidade de retrações. Se o penteamento estiver desligado, o material sofrerá retração e o bico se moverá em linha reta para o próximo ponto. É também possível evitar o penteamento em área de contornos superiores e inferiores habilitando o penteamento no preenchimento somente." +msgstr "O Combing, ou penteamento, mantém o bico dentro de áreas já impressas quando se movimenta. Isso resulta em percursos ligeiramente mais longos mas reduz a necessidade de retrações. Se o penteamento estiver desligado, o material sofrerá retração e o bico se moverá em linha reta para o próximo ponto. É também possível evitar o penteamento em área de contornos superiores e inferiores habilitando o penteamento no preenchimento somente." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2114,17 +2241,17 @@ msgstr "Evitar Partes Impressas nas Viagens" #: fdmprinter.def.json msgctxt "travel_avoid_other_parts description" msgid "The nozzle avoids already printed parts when traveling. This option is only available when combing is enabled." -msgstr "O bico evita partes já impressas quando está em uma viagem. Esta opção está disponível somente quando combing (penteamento) está habilitado." +msgstr "O bico evita partes já impressas quando está em uma percurso. Esta opção está disponível somente quando combing (penteamento) está habilitado." #: fdmprinter.def.json msgctxt "travel_avoid_distance label" msgid "Travel Avoid Distance" -msgstr "Distância de Desvio na Viagem" +msgstr "Distância de Desvio de Percurso" #: fdmprinter.def.json msgctxt "travel_avoid_distance description" msgid "The distance between the nozzle and already printed parts when avoiding during travel moves." -msgstr "A distância entre o bico e as partes já impressas quando evitadas durante movimentos de viagem." +msgstr "A distância entre o bico e as partes já impressas quando evitadas durante o percurso." #: fdmprinter.def.json msgctxt "start_layers_at_same_position label" @@ -2164,7 +2291,7 @@ msgstr "Salto Z Ao Retrair" #: fdmprinter.def.json msgctxt "retraction_hop_enabled description" msgid "Whenever a retraction is done, the build plate is lowered to create clearance between the nozzle and the print. It prevents the nozzle from hitting the print during travel moves, reducing the chance to knock the print from the build plate." -msgstr "Sempre que uma retração é feita, sobe-se um pouco em Z para criar um espaço entre o bico e a impressão. Isso evita que o bico fique batendo nas impressões durante os movimentos de viagem, reduzindo a chance de chutar a peça para fora da mesa." +msgstr "Sempre que uma retração é feita, sobe-se um pouco em Z para criar um espaço entre o bico e a impressão. Isso evita que o bico fique batendo nas impressões durante o percurso, reduzindo a chance de chutar a peça para fora da mesa." #: fdmprinter.def.json msgctxt "retraction_hop_only_when_collides label" @@ -2328,13 +2455,13 @@ msgstr "Suporte" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Habilitar Suportes" +msgid "Generate Support" +msgstr "Gerar Suporte" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Habilita as estruturas de suporte. Essas estruturas apóiam partes do modelo que tenham seções pendentes." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Gerar estrutura que suportem partes do modelo que tenham seções pendentes. Sem estas estruturas, tais partes desabariam durante a impressão." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2344,7 +2471,7 @@ msgstr "Extrusor do Suporte" #: fdmprinter.def.json msgctxt "support_extruder_nr description" msgid "The extruder train to use for printing the support. This is used in multi-extrusion." -msgstr "O extrusor a usar para imprimir os suportes. Este ajuste é usado quando se tem multi-extrusão." +msgstr "O extrusor a usar para imprimir os suportes. Isto é utilizado em multi-extrusão." #: fdmprinter.def.json msgctxt "support_infill_extruder_nr label" @@ -2354,7 +2481,7 @@ msgstr "Extrusor do Preenchimento do Suporte" #: fdmprinter.def.json msgctxt "support_infill_extruder_nr description" msgid "The extruder train to use for printing the infill of the support. This is used in multi-extrusion." -msgstr "O extrusor a usar para imprimir o preenchimento do suporte. Este ajuste é usado quando se tem multi-extrusão." +msgstr "O extrusor a usar para imprimir o preenchimento do suporte. Isto é utilizado em multi-extrusão." #: fdmprinter.def.json msgctxt "support_extruder_nr_layer_0 label" @@ -2364,7 +2491,7 @@ msgstr "Extrusor de Suporte da Primeira Camada" #: fdmprinter.def.json msgctxt "support_extruder_nr_layer_0 description" msgid "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion." -msgstr "O extrusor a usar para imprimir a primeira camada de preenchimento de suporte. Isto é usado em multi-extrusão." +msgstr "O extrusor a usar para imprimir a primeira camada de preenchimento de suporte. Isto é utilizado em multi-extrusão." #: fdmprinter.def.json msgctxt "support_interface_extruder_nr label" @@ -2373,8 +2500,28 @@ msgstr "Extrusor da Interface de Suporte" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "O extrusor a usar para imprimir o topo e base dos suportes. Isto é usado em multi-extrusão." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "O extrusor a usar para imprimir os tetos e bases dos suportes. Isto é utilizado em multi-extrusão." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Extrusor do Teto do Suporte" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "O extrusor a usar para imprimir o teto do suporte. Isto é utilizado em multi-extrusão." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Extrusor da Base do Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "O extrusor a usar para imprimir as bases dos suportes. Isto é utilizado em multi-extrusão." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2700,18 @@ msgstr "Altura do Passo de Escada de Suporte" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "A altura dos passos da base tipo escada do suporte em cima do modelo. Um valor baixo faz o suporte ser mais difícil de remover, mas valores muito altos podem criar estruturas de suporte instáveis." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "A altura dos degraus da base estilo escada do suporte em cima do modelo. Um valor baixo faz o suporte mais difícil de remover, mas valores muito altos podem levar a estruturas de suporte instáveis. Deixe em zero para desligar o comportamento de escada." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Largura Máxima do Passo de Escada de Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "A largura máxima dos passos da base estilo escada do suporte em cima do modelo. Um valor baixo faz o suporte mais difícil de remover, mas valores muito altos podem levar a estruturas de suporte instáveis." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2743,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Gera uma interface densa entre o modelo e o suporte. Isto criará um contorno no topo do suporte em que o modelo é impresso e na base do suporte, onde ele fica sobre o modelo." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Habilitar Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Gera um bloco denso de material entre o topo do suporte e o modelo. Isto criará uma divisória entre o modelo e o suporte." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Habilitar Base de Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Gera um bloco denso de material entre a base do suporte e o modelo. Isto criará uma divisória entre o modelo e o suporte." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2785,13 @@ msgstr "A espessura do topo do suporte. Isto controla a quantidade de camadas de #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Espessura da Base do Suporte" +msgid "Support Floor Thickness" +msgstr "Espessura da Base de Suporte" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "A espessura da base do suporte. Isto controla o número de camadas densas que são impressas no topo de lugares do modelo em que o suporte se assenta." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "A espessura das bases de suporte. Isto controla o número de camadas densas que são impressas no topo dos pontos do modelo em que o suporte se assenta." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2800,8 @@ msgstr "Resolução da Interface de Suporte" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Quando se verificar onde há modelo sobre suporte, use passos da altura dada. Valores baixos vão fatiar mais lentamente, enquanto valores altos podem fazer o suporte normal ser impresso em lugares onde deveria haver interface de suporte." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Quando verificar se há partes do modelo abaixo e acima do suporte, usar passos de dada altura. Valores baixos fatiarão mais lentamente, enquanto que valores altos farão com que suporte convencional seja impresso em lugares em que deveria haver interface de suporte." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2810,48 @@ msgstr "Densidade da Interface de Suporte" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Ajusta a densidade dos topos e bases das estruturas de suporte. Um valor mais alto resulta em seções pendentes melhores, mas os suportes são mais difíceis de remover." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Ajusta a densidade dos topos e bases da estrutura de suporte. Um valor maior resulta em seções pendentes melhores, mas os suportes são mais difíceis de remover." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Distância entre Linhas da Interface de Suporte" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Densidade do Teto de Suporte" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Distância entre as linhas impressas da interface de suporte. Este ajuste é calculado pela Densidade de Interface de Suporte, mas pode ser ajustado separadamente." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "A densidade dos tetos da estrutura de suporte. Um valor maior resulta em seções pendentes melhores, mas os suportes são mais difíceis de remover." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Distância de Filetes do Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Distância entre os filetes de impressão do teto de suporte. Este ajuste é calculado pela Densidade do Teto de Suporte mas pode ser ajustado separadamente." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Densidade da Base do Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "A densidade das bases da estrutura de suporte. Um valor maior resulta em melhor aderência do suporte no topo da superfície" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Distância de Filetes da Base de Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Distância entre os filetes de impressão da base de suporte. Este ajuste é calculado pela densidade da Base de Suporte, mas pode ser ajustado separadamente." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2893,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Ziguezague" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Padrão de Teto de Suporte" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "O padrão com o qual o teto do suporte é impresso." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Linhas" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Grade" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Triângulos" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Concêntrico" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concêntrico 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Ziguezague" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Padrão de Base de Suporte" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "O padrão com o qual as bases do suporte são impressas." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Linhas" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Grade" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Triângulo" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Concêntrico" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Concêntrico 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Ziguezague" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3023,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Aderência" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Habilitar Massa de Purga" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Indica se é preciso descarregar o filamento com uma massa de purga antes de imprimir. Ligar este ajuste assegurará que o extrusor tenha material pronto no bico antes de imprimir. Imprimir um Brim ou Skirt pode funcionar como purga também, em cujo caso desligar esse ajuste faz ganhar algum tempo." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -2838,7 +3135,7 @@ msgstr "Largura do Brim" #: fdmprinter.def.json msgctxt "brim_width description" msgid "The distance from the model to the outermost brim line. A larger brim enhances adhesion to the build plate, but also reduces the effective print area." -msgstr "A distância do modelo à linha mais externa do brim. Um brim mais largo aumenta a adesão à mesa, mas também reduz a área efetiva de impressão." +msgstr "A distância do modelo à linha mais externa do brim. Um brim mais largo aumenta a aderência à mesa, mas também reduz a área efetiva de impressão." #: fdmprinter.def.json msgctxt "brim_line_count label" @@ -2848,7 +3145,7 @@ msgstr "Contagem de Linhas do Brim" #: fdmprinter.def.json msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." -msgstr "O número de linhas usada para o brim. Mais linhas de brim melhoram a adesão à mesa, mas também reduzem a área efetiva de impressão." +msgstr "O número de linhas usada para o brim. Mais linhas de brim melhoram a aderência à mesa, mas também reduzem a área efetiva de impressão." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -2858,7 +3155,7 @@ msgstr "Brim Somente Para Fora" #: fdmprinter.def.json msgctxt "brim_outside_only description" msgid "Only print the brim on the outside of the model. This reduces the amount of brim you need to remove afterwards, while it doesn't reduce the bed adhesion that much." -msgstr "Imprimir o Brim somente no lado de fora do modelo. Isto reduz a quantidade de brim a ser removida no final, e não reduz tanto a adesão à mesa." +msgstr "Imprimir o Brim somente no lado de fora do modelo. Isto reduz a quantidade de brim a ser removida no final, e não reduz tanto a aderência à mesa." #: fdmprinter.def.json msgctxt "raft_margin label" @@ -2978,7 +3275,7 @@ msgstr "Largura de Linha da Base do Raft" #: fdmprinter.def.json msgctxt "raft_base_line_width description" msgid "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion." -msgstr "Largura das linhas na camada de base do raft. Devem ser grossas para auxiliar na adesão à mesa." +msgstr "Largura das linhas na camada de base do raft. Devem ser grossas para auxiliar na aderência à mesa." #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" @@ -3410,6 +3707,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Determina que malha de preenchimento está dentro do preenchimento de outra malha de preenchimento. Uma malha de preenchimento com ordem mais alta modificará o preenchimento de malhas de preenchimento com ordem mais baixa e malhas normais." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Malha de Corte" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Limitar o volume desta malha para dentro de outras malhas. Você pode usar isto para fazer certas áreas de uma malha imprimirem com ajustes diferentes, incluindo extrusor diferente." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Molde" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Imprimir modelos como moldes com o negativo das peças de modo que se possa encher de resina para as gerar." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Largura Mínima do Molde" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "A distância mínima entre o exterior do molde e do modelo." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Altura de Teto do Molde" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "A altura acima das partes horizontais do modelo onde criar o molde." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Ângulo do Molde" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "O ângulo de seção pendente das paredes externas criadas para o molde. 0° fará a superfície externa do molde vertical, enquanto 90° fará a superfície externa do molde seguir o contorno do modelo." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3420,6 +3767,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Use esta malha para especificar áreas obrigatoriamente suportadas. Isto será usado para gerar estruturas de suporte." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Malha de Suporte Abaixo" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Cria suport em todo lugar abaixo da malha de suporte de modo que não haja seções pendentes nela." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3462,8 +3819,18 @@ msgstr "Espiralizar o Contorno Externo" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Este modo, também chamado de Modo Vaso ou Joris, transforma a trajetória do filete de plástico de impressão em uma espiral ascendente, com o Z lentamente subindo. Para isso, torna um modelo sólido em uma casca de parede única com a base sólida. Nem toda forma funciona corretamente com o modo vaso." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "'Espiralizar' faz com que o movimento vertical (em Z) seja contínuo e gradual seguindo o contorno da peça. Este recurso transforma um modelo sólido em uma simples linha contínua em espiral partindo de uma base sólida. O recurso só deve ser habilitado quando cada camada horizontal contiver somente um contorno." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Suavizar Contornos Espiralizados" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Suaviza os contornos espiralizados para reduzir a visibilidade da costura em Z (esta costura será quase invisível na impressão mas ainda pode ser vista na visão de camadas). Note que suavizar tenderá a remover detalhes finos de superfície." #: fdmprinter.def.json msgctxt "experimental label" @@ -4004,6 +4371,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformação a ser aplicada ao modelo após o carregamento do arquivo." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Largura de extrusão de um filete usado na interface da estrutura de suporte com o modelo." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Raio de Subdivisão Cúbica" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Um multiplicador do raio do centro de cada cubo para verificar a borda do modelo, de modo a decidir se este cubo deve ser subdividido. Valores maiores levam a maiores subdivisões, isto é, mais cubos pequenos." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Expandir Contornos Superiores" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Expandir as áreas de contorno superiores (áreas com ar acima) de modo que suportem o preenchimento acima." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Expandir Contornos Inferiores" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Expandir as áreas de contorno inferiores (áreas com ar abaixo) de modo que fiquem ancoradas pelas camadas de preenchimento acima e abaixo." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "A velocidade em que o topo e base dos suportes são impressos. Imprimi-lo a menores velocidade pode melhor a qualidade das seções pendentes." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Aceleração com que o topo e base dos suportes são impressos. Imprimi-lo a menores acelerações pode aprimorar a qualidade das seções pendentes." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "A mudança instantânea máxima de velocidade em uma direção com que a base e o topo dos suporte é impresso." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Habilitar Suportes" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Habilita as estruturas de suporte. Essas estruturas apóiam partes do modelo que tenham seções pendentes." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "O extrusor a usar para imprimir o topo e base dos suportes. Isto é utilizado em multi-extrusão." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "A altura dos passos da base tipo escada do suporte em cima do modelo. Um valor baixo faz o suporte ser mais difícil de remover, mas valores muito altos podem criar estruturas de suporte instáveis." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Espessura da Base do Suporte" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "A espessura da base do suporte. Isto controla o número de camadas densas que são impressas no topo de lugares do modelo em que o suporte se assenta." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Quando se verificar onde há modelo sobre suporte, use passos da altura dada. Valores baixos vão fatiar mais lentamente, enquanto valores altos podem fazer o suporte normal ser impresso em lugares onde deveria haver interface de suporte." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Ajusta a densidade dos topos e bases das estruturas de suporte. Um valor mais alto resulta em seções pendentes melhores, mas os suportes são mais difíceis de remover." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Distância entre Linhas da Interface de Suporte" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Distância entre as linhas impressas da interface de suporte. Este ajuste é calculado pela Densidade de Interface de Suporte, mas pode ser ajustado separadamente." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Este modo, também chamado de Modo Vaso ou Joris, transforma a trajetória do filete de plástico de impressão em uma espiral ascendente, com o Z lentamente subindo. Para isso, torna um modelo sólido em uma casca de parede única com a base sólida. Nem toda forma funciona corretamente com o modo vaso." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Temperatura usada para a impressão. COloque em '0' para pré-aquecer a impressora manualmente." diff --git a/resources/i18n/ru/cura.po b/resources/i18n/ru/cura.po index cd118d16ac..005cd84dfc 100755 --- a/resources/i18n/ru/cura.po +++ b/resources/i18n/ru/cura.po @@ -1,17 +1,19 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Cura +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. # msgid "" msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-03-30 12:10+0300\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-02 23:56+0300\n" "Last-Translator: Ruslan Popov \n" -"Language-Team: \n" +"Language-Team: Ruslan Popov\n" "Language: ru\n" +"Lang-Code: ru\n" +"Country-Code: RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -28,7 +30,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Предоставляет возможность изменения параметров принтера (такие как рабочий объём, диаметр сопла и так далее)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Параметры принтера" @@ -129,6 +131,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Показать журнал изменений" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Нормализация профиля" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Создаёт профиль со стандартными настройками." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Сбросить текущие параметры к стандартным значениям" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Профиль был нормализован и активирован." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -159,17 +181,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "Подключено через USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Невозможно запустить новое задание, потому что принтер занят или не подключен." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Данный принтер не поддерживает печать через USB, потому что он использует UltiGCode диалект." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Невозможно запустить новую задачу, так как принтер не поддерживает печать через USB." @@ -206,49 +228,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Сохранить на внешний носитель {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Сохранение на внешний носитель {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "Не могу сохранить {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Сохранено на внешний носитель {0} как {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Извлечь" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Извлекает внешний носитель {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Невозможно сохранить на внешний носитель {0}: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Извлечено {0}. Вы можете теперь безопасно извлечь носитель." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -328,152 +350,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Отправить запрос на доступ к принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Подключен по сети. Пожалуйста, подтвердите запрос на принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Подключен по сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Подключен по сети. Нет доступа к управлению принтером." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Запрос доступа к принтеру был отклонён." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Запрос доступа был неудачен из-за таймаута." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Соединение с сетью было потеряно." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Соединение с принтером было потеряно. Проверьте свой принтер, подключен ли он." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Невозможно запустить новую задачу на печать, принтер занят. Текущий статус принтера %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" msgstr "Невозможно запустить новую задачу на печать. PrinterCore не был загружен в слот {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Невозможно запустить новую задачу на печать. Материал не загружен в слот {0}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Недостаточно материала в катушке {0}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Разные PrintCore (Cura: {0}, Принтер: {1}) выбраны для экструдера {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Разный материал (Cura: {0}, Принтер: {1}) выбран для экструдера {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} не откалибровано. Необходимо выполнить XY калибровку для принтера." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Вы уверены, что желаете печатать с использованием выбранной конфигурации?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "Есть несовпадение между конфигурацией или калибровкой принтера и Cura. Для лучшего результата, всегда производите слайсинг для PrintCore и материала, которые установлены в вашем принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Несовпадение конфигурации" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Отправка данных на принтер" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "Отмена" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Невозможно отправить данные на принтер. Другая задача всё ещё активна?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Прерывание печати…" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Печать прервана. Пожалуйста, проверьте принтер" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Печать приостановлена..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Печать возобновлена..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Синхронизация с вашим принтером" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Желаете использовать текущую конфигурацию принтера в Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "Модуль PrintCore и/или материал в вашем принтере отличается от тех, что вы используете в текущем проекте. Для наилучшего результата всегда указывайте правильный модуль PrintCore и материалы, которые вставлены в ваш принтер." @@ -520,19 +542,19 @@ msgstr "Отправляет анонимную информацию о наре #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:75 msgctxt "@info" msgid "Cura collects anonymised slicing statistics. You can disable this in preferences" -msgstr "Cura собирает анонимную статистику о нарезке модели. Вы можете отключить это в настройках." +msgstr "Cura собирает анонимную статистику о нарезке модели. Вы можете отключить это в настройках" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:76 msgctxt "@action:button" msgid "Dismiss" msgstr "Отменить" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Профили материалов" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "Предоставляет возможности по чтению и записи профилей материалов в виде XML." @@ -583,20 +605,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Слои" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura не аккуратно отображает слои при использовании печати через кабель" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "Обновление версии 2.4 до 2.5" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "Обновление версии с 2.5 до 2.6" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Обновление конфигурации Cura 2.4 до Cura 2.5." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Обновляет конфигурацию Cura 2.5 до Cura 2.6." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -616,7 +638,7 @@ msgstr "Обновление версии 2.2 до 2.4" #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py:17 msgctxt "@info:whatsthis" msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "Обновляет конфигурации Cura 2.2 до Cura 2.4" +msgstr "Обновляет конфигурации Cura 2.2 до Cura 2.4." #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:12 msgctxt "@label" @@ -653,24 +675,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF изображение" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Выбранный материал несовместим с выбранным принтером или конфигурацией." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Не могу выполнить слайсинг на текущих настройках. Проверьте следующие настройки: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Слайсинг невозможен так как черновая башня или её позиция неверные." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Нечего нарезать, так как ни одна модель не попадает в объём принтера. Пожалуйста, отмасштабируйте или поверните модель." @@ -685,8 +707,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "Предоставляет интерфейс к движку CuraEngine." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Обработка слоёв" @@ -711,36 +733,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Правка параметров модели" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Рекомендованная" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Своя" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "Чтение 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "Предоставляет поддержку для чтения 3MF файлов." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "Файл 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Сопло" @@ -775,11 +797,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Файл G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Обработка G-code" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "Перед отправкой G-code на принтер удостоверьтесь в его соответствии вашему принтеру и его настройкам. Возможны неточности в G-code." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -796,41 +823,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Профиль Cura" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "Запись 3MF" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "Предоставляет возможность записи 3MF файлов." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF файл" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "3MF файл проекта Cura" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Дополнительные возможности Ultimaker" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Предоставляет дополнительные возможности для принтеров Ultimaker (такие как мастер выравнивания стола, выбора обновления и так далее)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Выбор обновлений" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Дополнительные возможности Ultimaker" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Предоставляет дополнительные возможности для принтеров Ultimaker (такие как мастер выравнивания стола, выбора обновления и так далее)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -856,7 +884,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Предоставляет поддержку для импорта профилей Cura." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -872,243 +900,311 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Неизвестный материал" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Поиск места для новых объектов" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Невозможно разместить все объекты внутри печатаемого объёма" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Файл уже существует" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Файл {0} уже существует. Вы желаете его перезаписать?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Невозможно найти профиль качества для этой комбинации. Будут использованы параметры по умолчанию." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Своё" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Собственный материал" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Невозможно экспортировать профиль в {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Невозможно экспортировать профиль в {0}: Плагин записи уведомил об ошибке." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Экспортирование профиля в {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "Невозможно импортировать профиль из {0}: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Успешно импортирован профиль {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Профиль {0} имеет неизвестный тип файла или повреждён." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Собственный профиль" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "У профайла отсутствует тип качества." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Невозможно найти тип качества {0} для текущей конфигурации." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Высота печатаемого объёма была уменьшена до значения параметра \"Последовательность печати\", чтобы предотвратить касание портала за напечатанные детали." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Ой!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Размножение и размещение объектов" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Отчёт о сбое" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " msgstr "" -"

Произошла неожиданная ошибка и мы не смогли её обработать!

\n" -"

Мы надеемся, что картинка с котёнком поможет вам оправиться от шока.

\n" -"

Пожалуйста, используйте информацию ниже для создания отчёта об ошибке на http://github.com/Ultimaker/Cura/issues

\n" -" " +"

Произошла неожиданная ошибка и мы не смогли её исправить!

\n" +"

Пожалуйста, используйте информацию ниже для создания отчёта об ошибке на http://github.com/Ultimaker/Cura/issues

" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Открыть веб страницу" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Загрузка принтеров..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Настройка сцены..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Загрузка интерфейса..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f мм" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Только один G-code файла может быть загружен в момент времени. Пропускаю импортирование {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Невозможно открыть любой другой файл, если G-code файл уже загружен. Пропускаю импортирование {0}" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Параметры принтера" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Пожалуйста, введите правильные параметры для вашего принтера:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Принтер" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Параметры принтера" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Ширина)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "мм" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Глубина)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Высота)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Форма стола" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Ноль в центре стола" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Нагреваемый стол" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "Вариант G-кода" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Параметры головы" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X минимум" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y минимум" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X максимум" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y максимум" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Высота портала" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Количество экструдеров" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Диаметр материала" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Диаметр сопла" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Начало G-кода" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Конец G-кода" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Параметры сопла" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Смещение сопла по оси X" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Смещение сопла по оси Y" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "G-код старта экструдера" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "G-код завершения экструдера" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Настройки Doodle3D" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Сохранить" @@ -1147,7 +1243,7 @@ msgstr "Печать" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1200,12 +1296,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Неизвестный код ошибки: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Подключение к сетевому принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1216,87 +1312,87 @@ msgstr "" "\n" "Укажите ваш принтер в списке ниже:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Добавить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Правка" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Удалить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Обновить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "Если ваш принтер отсутствует в списке, обратитесь к руководству по решению проблем с сетевой печатью" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Тип" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Ultimaker 3 Расширенный" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Неизвестный" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Версия прошивки" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Адрес" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Принтер по этому адресу ещё не отвечал." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Подключить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Адрес принтера" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Введите IP адрес принтера или его имя в сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Ok" @@ -1341,72 +1437,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Изменить активные скрипты пост-обработки" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Режим просмотра: Слои" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Цветовая схема" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Цвет материала" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Тип линии" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Режим совместимости" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Экструдер %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Показать движения" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Показать поддержку" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Показать стенки" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Показать заполнение" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Показать только верхние слои" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "Показать 5 детализированных слоёв сверху" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Дно / крышка" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "Внутренняя стенка" @@ -1419,7 +1510,7 @@ msgstr "Преобразование изображения..." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "Максимальная дистанция каждого пикселя от \"Основания\"." +msgstr "Максимальная дистанция каждого пикселя от \"Основания.\"" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -1482,34 +1573,27 @@ msgid "Smoothing" msgstr "Сглаживание" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "Печатать модель экструдером" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Выберите параметры" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Выберите параметр для изменения этой модели" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Фильтр..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Показать всё" @@ -1519,67 +1603,67 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Открытие проекта" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Обновить существующий" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Создать новый" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Сводка - Проект Cura" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Параметры принтера" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Как следует решать конфликт в принтере?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Тип" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "Название" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Параметры профиля" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Как следует решать конфликт в профиле?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Вне профиля" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" @@ -1587,12 +1671,12 @@ msgstr[0] "%1 перекрыт" msgstr[1] "%1 перекрыто" msgstr[2] "%1 перекрыто" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Производное от" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" @@ -1600,49 +1684,65 @@ msgstr[0] "%1, %2 перекрыто" msgstr[1] "%1, %2 перекрыто" msgstr[2] "%1, %2 перекрыто" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Параметры материала" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Как следует решать конфликт в материале?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Видимость параметров" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Режим" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Видимые параметры:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 из %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Загрузка проекта уберёт все модели со стола" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Открыть" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Выбор обновлённых частей" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Пожалуйста, укажите любые изменения, внесённые в Ultimaker 2." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Блок Олссона" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1698,11 +1798,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Выбрать собственную прошивку" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Выбор обновлённых частей" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1817,7 +1912,7 @@ msgid "Printer does not accept commands" msgstr "Принтер не принимает команды" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "В режиме обслуживания. Пожалуйста, проверьте принтер" @@ -1828,19 +1923,19 @@ msgid "Lost connection with the printer" msgstr "Потеряно соединение с принтером" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Печать..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Приостановлен" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Подготовка..." @@ -1875,12 +1970,12 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Вы уверены, что желаете прервать печать?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Сбросить или сохранить изменения" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" @@ -1889,125 +1984,135 @@ msgstr "" "Вы изменили некоторые параметры профиля.\n" "Желаете сохранить их или вернуть к прежним значениям?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Параметры профиля" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "По умолчанию" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Свой" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Всегда спрашивать меня" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "Сбросить и никогда больше не спрашивать" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Сохранить и никогда больше не спрашивать" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "Сбросить" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Сохранить" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Создать новый профиль" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Информация" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Отображаемое имя" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Брэнд" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Тип материала" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Цвет" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Свойства" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Плотность" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Диаметр" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Стоимость материала" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Вес материала" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Длина материала" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Стоимость метра" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Данный материал привязан к %1 и имеет ряд его свойств." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Отвязать материал" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Описание" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Информация об адгезии" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Параметры печати" @@ -2043,185 +2148,240 @@ msgid "Unit" msgstr "Единица" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Общее" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Интерфейс" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Язык:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Валюта:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Вам потребуется перезапустить приложение для переключения интерфейса на выбранный язык." +msgid "Theme:" +msgstr "Тема:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "Для применения данных изменений вам потребуется перезапустить приложение." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Нарезать автоматически при изменении настроек." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Нарезать автоматически" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Поведение окна" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Подсвечивать красным области модели, требующие поддержек. Без поддержек эти области не будут напечатаны правильно." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Отобразить нависания" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Перемещать камеру так, чтобы модель при выборе помещалась в центр экрана" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "Перемещать камеру так, чтобы выбранная модель помещалась в центр экрана" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Центрировать камеру на выбранном объекте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "Следует ли инвертировать стандартный способ увеличения в Cura?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Инвертировать направление увеличения камеры." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" -msgstr "Следует ли размещать модели на столе так, чтобы они больше не пересекались." +msgstr "Следует ли размещать модели на столе так, чтобы они больше не пересекались?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Удостовериться, что модели размещены рядом" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Следует ли опустить модели на стол?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Автоматически опускать модели на стол" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Показывать важное сообщение при чтении G-кода." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Важное сообщение при чтении G-кода" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Должен ли слой быть переведён в режим совместимости?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Просматривать слои в режиме совместимости (требуется перезапуск)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Открытие и сохранение файлов" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Масштабировать ли модели для размещения внутри печатаемого объёма, если они не влезают в него?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Масштабировать большие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "Модель может показаться очень маленькой, если её размерность задана в метрах, а не миллиметрах. Следует ли масштабировать такие модели?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Масштабировать очень маленькие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Надо ли автоматически добавлять префикс, основанный на имени принтера, к названию задачи на печать?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Добавить префикс принтера к имени задачи" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Показывать сводку при сохранении файла проекта?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Показывать сводку при сохранении проекта" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Стандартное поведение при открытии файла проекта" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Стандартное поведение при открытии файла проекта: " + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Всегда спрашивать" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Всегда открывать как проект" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Всегда импортировать модели" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "При внесении изменений в профиль и переключении на другой, будет показан диалог, запрашивающий ваше решение о сохранении ваших изменений, или вы можете указать стандартное поведение и не показывать такой диалог." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Переопределение профиля" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Приватность" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Должна ли Cura проверять обновления программы при старте?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Проверять обновления при старте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Можно ли отправлять анонимную информацию о вашей печати в Ultimaker? Следует отметить, что ни модели, ни IP адреса и никакая другая персональная информация не будет отправлена или сохранена." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Отправлять (анонимно) информацию о печати" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Принтеры" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Активировать" @@ -2237,34 +2397,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Тип принтера:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Соединение:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Принтер не подключен." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Состояние:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Ожидаем, чтобы кто-нибудь освободил стол" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Ожидаем задание на печать" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Профили" @@ -2290,13 +2450,13 @@ msgid "Duplicate" msgstr "Дублировать" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "Импорт" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Экспорт" @@ -2362,60 +2522,65 @@ msgid "Export Profile" msgstr "Экспортировать профиль" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Материалы" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Принтер: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Принтер: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Создать" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Дублировать" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Импортировать материал" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Не могу импортировать материал %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Успешно импортированный материал %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Экспортировать материал" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Не могу экспортировать материал %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Материал успешно экспортирован в %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Добавление принтера" @@ -2430,17 +2595,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Добавить принтер" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Внешняя стенка" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "Внутренние стенки" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Покрытие" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Заполнение" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Заполнение поддержек" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Связующий слой поддержек" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Поддержки" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Перемещение" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Откаты" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Другое" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00ч 00мин" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 м / ~ %2 гр / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 м / ~ %2 г" @@ -2512,7 +2727,7 @@ msgstr "Формат обмена данными" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 msgctxt "@label" msgid "Support library for scientific computing " -msgstr "Вспомогательная библиотека для научных вычислений" +msgstr "Вспомогательная библиотека для научных вычислений " #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 msgctxt "@label" @@ -2554,27 +2769,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "Иконки SVG" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Поиск..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Скопировать значение для всех экструдеров" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Спрятать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Не показывать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Оставить этот параметр видимым" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Настроить видимость параметров..." @@ -2603,7 +2823,7 @@ msgstr "Зависит от" #: /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 "Этот параметр всегда действует на все экструдеры. Его изменение повлияет на все экструдеры." +msgstr "Этот параметр всегда действует на все экструдеры. Его изменение повлияет на все экструдеры" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" @@ -2656,17 +2876,17 @@ msgstr "" "Настройка принтера отключена\n" "G-code файлы нельзя изменять" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Рекомендованные параметры печати

Печатайте с рекомендованными параметрами для выбранных принтера, материала и качества." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Свои параметры печати

Печатайте с полным контролем над каждой особенностью процесса слайсинга." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Автоматически: %1" @@ -2681,6 +2901,27 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Автоматически: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Печать выбранной модели:" +msgstr[1] "Печать выбранных моделей:" +msgstr[2] "Печать выбранных моделей:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Размножить выбранную модель" +msgstr[1] "Размножить выбранные модели" +msgstr[2] "Размножить выбранные моделей" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Количество копий" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2771,171 +3012,195 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Осталось примерно" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Полный экран" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Отмена" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Возврат" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "Выход" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Настроить Cura…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "Добавить принтер..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Управление принтерами..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Управление материалами…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "Обновить профиль, используя текущие параметры" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "Сбросить текущие параметры" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "Создать профиль из текущих параметров…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Управление профилями..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Показать онлайн документацию" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Отправить отчёт об ошибке" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." -msgstr "О Cura" +msgstr "О Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Удалить выделенное" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "Удалить выбранную модель" +msgstr[1] "Удалить выбранные модели" +msgstr[2] "Удалить выбранные модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Центрировать выбранную модель" +msgstr[1] "Центрировать выбранные модели" +msgstr[2] "Центрировать выбранные модели" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Размножить выбранную модель" +msgstr[1] "Размножить выбранные модели" +msgstr[2] "Размножить выбранные модели" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Удалить модель" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Поместить модель по центру" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Сгруппировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Разгруппировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Объединить модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Дублировать модель..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "Выбрать все модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "Очистить стол" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Перезагрузить все модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Выровнять все модели" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Выровнять выбранные" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Сбросить позиции всех моделей" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Сбросить преобразования всех моделей" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "Открыть файл..." +msgid "&Open File(s)..." +msgstr "Открыть файл(ы)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "Открыть проект..." +msgid "&New Project..." +msgstr "Новый проект..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Показать журнал движка..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Показать конфигурационный каталог" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Видимость параметров…" -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Дублировать модель" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2966,21 +3231,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Нарезка недоступна" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Подготовка" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "Отмена" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Выберите активное целевое устройство" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Открыть файл(ы)" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Мы нашли один или более проектных файлов среди выбранных вами. Вы можете открыть только один файл проекта. Мы предлагаем импортировать только модели их этих файлов. Желаете продолжить?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Импортировать всё как модели" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2991,197 +3272,250 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "Файл" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "Сохранить выделенное в файл" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Сохранить всё" +msgid "Save &As..." +msgstr "Сохранить как..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Сохранить проект" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "Правка" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "Вид" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "Принтер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "Материал" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "Профиль" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Установить как активный экструдер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Расширения" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Настройки" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "Справка" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Открыть файл" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Режим просмотра" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Открыть файл" +msgid "New project" +msgstr "Новый проект" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Вы действительно желаете начать новый проект? Это действие очистит область печати и сбросит все несохранённые настройки." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Открыть рабочее пространство" +msgid "Open File(s)" +msgstr "Открыть файл(ы)" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Среди выбранных файлов мы нашли несколько файлов с G-кодом. Вы можете открыть только один файл за раз. Измените свой выбор, пожалуйста." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Сохранить проект" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Экструдер %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 и материал" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Больше не показывать сводку по проекту" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Заполнение" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Пустота" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Отсутствие (0%) заполнения сделает вашу модель полой и минимально прочной" +msgid "0%" +msgstr "0%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Лёгкое" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Пустое заполнение сделает вашу модель полой и хрупкой." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Лёгкое (20%) заполнение придаст вашей модели среднюю прочность" +msgid "20%" +msgstr "20%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Плотное" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Слабое (20%) заполнение сделает вашу модель менее хрупкой." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Плотное (50%) заполнение придаст вашей модели прочность выше среднего" +msgid "50%" +msgstr "50%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Твёрдое" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Плотное (50%) заполнение придаст вашей модели прочность выше среднего." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Твёрдое (100%) заполнение сделает вашу модель полностью твёрдой." +msgid "100%" +msgstr "100%" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Разрешить поддержки" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Сплошное (100%) заполнение сделает вашу модель крепкой." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Разрешить печать поддержек. Такие структуры поддерживают части моделей со значительными нависаниями." +msgid "Gradual" +msgstr "Постепенное" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Постепенное заполнение будет постепенно увеличивать объём заполнения по направлению вверх." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Генерация поддержек" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Генерация структур для поддержки нависающих частей модели. Без этих структур такие части будут складываться во время печати." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Экструдер поддержек" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Выбирает какой экструдер следует использовать для поддержек. Будут созданы поддерживающие структуры под моделью для предотвращения проседания краёв или печати в воздухе." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Тип прилипания к столу" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Разрешает печать каймы или подложки. Это добавляет плоскую область вокруг или под вашим объектом, которую легко удалить после печати." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Нужна помощь с улучшением качества печати? Прочитайте Руководства Ultimaker по решению проблем" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Требуется помощь в улучшении вашей печати?
Обратитесь к Руководству Ultimaker по решению проблем" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Распечатать выбранную модель на %1" +msgstr[1] "Распечатать выбранные модели на %1" +msgstr[2] "Распечатать выбранные моделей на %1" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Открыть файл проекта" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Это проект Cura. Следует открыть его как проект или просто импортировать из него модели?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Запомнить мой выбор" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Открыть как проект" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Импортировать модели" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3194,12 +3528,17 @@ msgctxt "@label" msgid "Material" msgstr "Материал" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Нажмите для проверки совместимости материала на Ultimaker.com." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Профиль:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3210,6 +3549,130 @@ msgstr "" "\n" "Нажмите для открытия менеджера профилей." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Невозможно запустить новую задачу на печать. PrinterCore не был загружен в слот {0}" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "Обновление версии 2.4 до 2.5" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Обновление конфигурации Cura 2.4 до Cura 2.5." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Невозможно найти профиль качества для этой комбинации. Будут использованы параметры по умолчанию." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Ой!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Произошла неожиданная ошибка и мы не смогли её обработать!

\n" +#~ "

Мы надеемся, что картинка с котёнком поможет вам оправиться от шока.

\n" +#~ "

Пожалуйста, используйте информацию ниже для создания отчёта об ошибке на http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Пожалуйста, введите правильные параметры для вашего принтера:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Экструдер %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "Печатать модель экструдером" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Вам потребуется перезапустить приложение для переключения интерфейса на выбранный язык." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Перемещать камеру так, чтобы модель при выборе помещалась в центр экрана" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "Удалить выделенное" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "Открыть файл..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "Открыть проект..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Дублировать модель" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Сохранить всё" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Открыть файл" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Открыть рабочее пространство" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Пустота" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Отсутствие (0%) заполнения сделает вашу модель полой и минимально прочной" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Лёгкое" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Лёгкое (20%) заполнение придаст вашей модели среднюю прочность" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Плотное" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Плотное (50%) заполнение придаст вашей модели прочность выше среднего" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Твёрдое" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Твёрдое (100%) заполнение сделает вашу модель полностью твёрдой." + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Разрешить поддержки" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Разрешить печать поддержек. Такие структуры поддерживают части моделей со значительными нависаниями." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Нужна помощь с улучшением качества печати? Прочитайте Руководства Ultimaker по решению проблем" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Подключен через сеть к {0}. Пожалуйста, подтвердите запрос доступа к принтеру." diff --git a/resources/i18n/ru/fdmextruder.def.json.po b/resources/i18n/ru/fdmextruder.def.json.po index 4809a3adc7..7184a42b3a 100644 --- a/resources/i18n/ru/fdmextruder.def.json.po +++ b/resources/i18n/ru/fdmextruder.def.json.po @@ -1,12 +1,19 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" "PO-Revision-Date: 2017-01-08 04:33+0300\n" "Last-Translator: Ruslan Popov \n" -"Language-Team: \n" -"Language: ru_RU\n" +"Language-Team: Ruslan Popov\n" +"Language: Russian\n" +"Lang-Code: ru\n" +"Country-Code: RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -33,6 +40,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Экструдер, который используется для печати. Имеет значение при использовании нескольких экструдеров." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Диаметр сопла" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Внутренний диаметр сопла. Измените эту настройку при использовании сопла нестандартного размера." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" @@ -173,14 +190,6 @@ msgctxt "extruder_prime_pos_y description" msgid "The Y coordinate of the position where the nozzle primes at the start of printing." msgstr "Y координата позиции, в которой сопло начинает печать." -#~ msgctxt "machine_nozzle_size label" -#~ msgid "Nozzle Diameter" -#~ msgstr "Диаметр сопла" - -#~ msgctxt "machine_nozzle_size description" -#~ msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." -#~ msgstr "Внутренний диаметр сопла. Измените эту настройку при использовании сопла нестандартного размера." - #~ msgctxt "resolution label" #~ msgid "Quality" #~ msgstr "Качество" diff --git a/resources/i18n/ru/fdmprinter.def.json.po b/resources/i18n/ru/fdmprinter.def.json.po index c24428e89f..84752efc18 100755 --- a/resources/i18n/ru/fdmprinter.def.json.po +++ b/resources/i18n/ru/fdmprinter.def.json.po @@ -1,12 +1,19 @@ +# Cura JSON setting files +# Copyright (C) 2017 Ultimaker +# This file is distributed under the same license as the Cura package. +# Ruben Dulek , 2017. +# msgid "" msgstr "" -"Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-03-30 15:05+0300\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-05 08:51+0300\n" "Last-Translator: Ruslan Popov \n" -"Language-Team: \n" -"Language: ru_RU\n" +"Language-Team: Ruslan Popov\n" +"Language: ru\n" +"Lang-Code: ru\n" +"Country-Code: RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +685,28 @@ msgstr "Ширина линии поддерживающей крыши" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Ширина одной линии поддерживающей крыши." +msgid "Width of a single line of support roof or floor." +msgstr "Ширина одной линии поддержки крышки или дна." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Ширина линии крыши поддержки" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Ширина одной линии крыши поддержки." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Ширина линии дна поддержки" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Ширина одной линии дна поддержки." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1109,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Список направлений линии при печати слоёв. Элементы списка используются последовательно по мере печати слоёв и когда конец списка будет достигнут, он начнётся сначала. Элементы списка отделяются запятыми и сам список заключён в квадратные скобки. По умолчанию, он пустой, что означает использование стандартных углов (45 и 135 градусов для линий из зигзага и 45 градусов для всех остальных шаблонов)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Радиус динамического куба" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Спагетти" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Коэффициент для радиуса от центра каждого куба для проверки границ модели, используется для принятия решения о разделении куба. Большие значения приводят к увеличению делений, т.е. к более мелким кубам." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Печатает заполнение так часто, что филамент хаотически заполняет внутренность объекта. Это сокращает время печати, но выражается в непредсказуемом поведении." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Максимальный угол спагетти заполнения" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Максимальный угол по отношению к оси Z внутри печатаемого объёма для заполняемых областей. Уменьшение этого значения приводит к тому, что более наклонённый части вашей модели будут заполнены на каждом слое." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Максимальная высота спагетти заполнения" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Максимальная высота внутри пространства которое может быть объединено и заполнено сверху." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Спагетти вставка" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Смещение от стенок внутри которых должно быть использовано спагетти заполнение." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Спагетти поток" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Управляет плотностью спагетти заполнения. Следует отметить, что плотность заполнения только контролирует расстояние между линиями шаблона заполнения, а не объёмом выдавливаемого материала." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,22 +1280,22 @@ msgstr "Расширять области оболочки на верхних #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Расширять верхние оболочки" +msgid "Expand Top Skins Into Infill" +msgstr "Расширять верхнюю оболочку в заполнение" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." msgstr "Расширять области верхней оболочки (над ними будет воздух) так, что они поддерживают заполнение над ними." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Расширять нижние оболочки" +msgid "Expand Bottom Skins Into Infill" +msgstr "Расширять нижнюю оболочку в заполнение" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." msgstr "Расширять области нижней оболочки (под ними будет воздух) так, что они сцепляются с слоями заполнения сверху и снизу." #: fdmprinter.def.json @@ -1638,8 +1705,28 @@ msgstr "Скорость границы поддержек" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Скорость, на которой происходит печать верха и низа поддержек. Печать верха поддержек на пониженных скоростях может улучшить качество печати нависающих краёв модели." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Скорость, на которой происходит печать верха и низа поддержек. Печать поддержек на пониженных скоростях может улучшить качество печати нависающих краёв модели." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Скорость печати крыши поддержек" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Скорость, на которой происходит печать верха поддержек. Печать поддержек на пониженных скоростях может улучшить качество печати нависающих краёв модели." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Скорость печати низа поддержек" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Скорость, на которой происходит печать низа поддержек. Печать поддержек на пониженных скоростях может улучшить качество печати нависающих краёв модели." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,9 +1925,29 @@ msgstr "Ускорение края поддержек" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." msgstr "Ускорение, с которым печатаются верх и низ поддержек. Их печать с пониженными ускорениями может улучшить качество печати нависающих частей." +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Ускорение крыши поддержек" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Ускорение, с которым происходит печать верха поддержек. Печать поддержек с пониженными ускорениями может улучшить качество печати нависающих краёв модели." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Ускорение низа поддержек" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Ускорение, с которым происходит печать низа поддержек. Печать поддержек с пониженными ускорениями может улучшить качество печати нависающих краёв модели." + #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" msgid "Prime Tower Acceleration" @@ -1998,8 +2105,28 @@ msgstr "Рывок связи поддержек" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "Изменение максимальной мгновенной скорости, с которой печатается связующие слои поддержек." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "Максимальное изменение мгновенной скорости, с которым напечатаны крыши и низ поддержек." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Рывок крыши поддержек" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Максимальное изменение мгновенной скорости, с которым напечатаны крыши поддержек." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Рывок низа поддержек" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Максимальное изменение мгновенной скорости, с которым напечатаны низ поддержек." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2455,13 @@ msgstr "Поддержки" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Разрешить поддержки" +msgid "Generate Support" +msgstr "Генерация поддержек" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Разрешить печать поддержек. Такие структуры поддерживают части моделей со значительными навесаниями." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Генерация структур для поддержки нависающих частей модели. Без этих структур такие части будут складываться во время печати." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,9 +2500,29 @@ msgstr "Экструдер связующего слоя поддержек" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." msgstr "Этот экструдер используется для печати верха и низа поддержек. Используется при наличии нескольких экструдеров." +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Экструдер крыши поддержек" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Этот экструдер используется для печати крыши поддержек. Используется при наличии нескольких экструдеров." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Экструдер низа поддержек" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Этот экструдер используется для печати низа поддержек. Используется при наличии нескольких экструдеров." + #: fdmprinter.def.json msgctxt "support_type label" msgid "Support Placement" @@ -2553,8 +2700,18 @@ msgstr "Высота шага лестничной поддержки" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Высота шагов лестнично-подобного низа поддержек, лежащих на модели. Малое значение усложняет последующее удаление поддержек, но слишком большое значение может сделать структуру поддержек нестабильной." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Высота в шагах низа лестничной поддержки, лежащей на модели. Малые значения усложняют удаление поддержки, а большие значения могут сделать структуру поддержек нестабильной. Установите ноль для выключения лестничной поддержки." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Максимальная ширина шага лестничной поддержки" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Максимальная ширина шагов низа лестничной поддержки, располагающейся на модели. Малые значения усложняют удаление поддержки, а большие значения могут сделать структуру поддержек нестабильной." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2743,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Генерирует плотный слой между моделью и поддержкой. Создаёт поверхность сверху поддержек, на которой печатается модель, и снизу, при печати поддержек на модели." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Разрешить крышу поддержек" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Генерирует плотный слой материала между крышей поддержки и моделью. Создаёт поверхность между моделью и поддержкой." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Разрешить дно поддержек" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Генерирует плотный слой материала между низом поддержки и моделью. Создаёт поверхность между моделью и поддержкой." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2785,13 @@ msgstr "Толщина крыши поддержек. Управляет вел #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Толщина низа поддержек" +msgid "Support Floor Thickness" +msgstr "Толщина низа поддержки" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Толщина низа поддержек. Управляет количеством плотных слоёв, которые будут напечатаны на верхних частях модели, где располагаются поддержки." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Толщина низа поддержки. Управляет количеством плотных слоёв, которые печатаются поверх модели для последующего построения поддержек." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2800,8 @@ msgstr "Разрешение связующего слоя поддержек." #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Если выбрано, то поддержки печатаются с учётом указанной высоты шага. Меньшие значения нарезаются дольше, в то время как большие значения могут привести к печати обычных поддержек в таких местах, где должен быть связующий слой." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Если выбрано в случае, когда модель находится под и над поддержкой, принимает шаги данной высоты. Малые значения замедляют просчёт, а большие - могут привести к генерации поддержек в некоторых местах, где лучше бы печатать интерфейс поддержек." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2810,48 @@ msgstr "Плотность связующего слоя поддержки" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." msgstr "Настройте плотность верха и низа структуры поддержек. Большее значение приведёт к улучшению нависаний, но такие поддержки будет труднее удалять." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Дистанция между линиями связующего слоя" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Плотность крыши поддержек" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Расстояние между линиями связующего слоя поддержки. Этот параметр вычисляется из \"Плотности связующего слоя\", но также может быть указан самостоятельно." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Плотность крыши структуры поддержек. Большее значение приведёт к улучшению нависаний, но такие поддержки будет труднее удалять." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Дистанция линии крыши поддержек" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Дистанция между линиями крыши поддержек. Этот параметр вычисляется из Плотности крыши поддержек, но может быть указан отдельно." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Плотность низа поддержек" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Плотность низа структуры поддержек. Большее значение приведёт к улучшению прилипания поддержек к модели." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Дистанция линии низа поддержек" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Дистанция между линиями низа поддержек. Этот параметр вычисляется из Плотности низа поддержек, но может быть указан отдельно." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2893,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Зигзаг" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Шаблон крыши поддержек" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Шаблон, который будет использоваться для печати верхней части поддержек." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Линии" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Сетка" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Треугольники" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Концентрический" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Концентрический 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Зигзаг" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Шаблон низа поддержек" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Шаблон, который будет использоваться для печати нижней части поддержек." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Линии" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Сетка" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Треугольники" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Концентрический" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Концентрический 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Зигзаг" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3023,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Прилипание" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "Разрешить наполнение материалом" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Следует ли выдавливать материал перед началом печати. Активация этого параметра обеспечивает наполнение материалом сопла экструдера перед началом печати. Печать каймы или юбки может выполнять такое же действие, тогда выключения этого параметра экономит некоторое время." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3410,6 +3707,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Определяет какой заполняющий объект находится внутри заполнения другого заполняющего объекта. Заполняющий объект с более высоким порядком будет модифицировать заполнение объектов с более низким порядком или обычных объектов." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Ограничивающий объект" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Ограничивает объём объекта внутри других объектов. Вы можете использовать это для печати определённых областей одного объекта, применяя различные параметры печати и даже другой экструдер." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Форма" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Печатать модель в виде формы, которая может использоваться для отливки оригинальной модели." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Минимальная ширина формы" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Минимальное расстояние между внешними сторонами формы и модели." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Высота крыши формы" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Высота над горизонтальными частями вашей модели, по которой создаётся форма." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Угол формы" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Угол нависания внешних стенок создаваемой формы. 0° приведёт к вертикальным стенкам формы, а 90° - заставит следовать контурам модели." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3420,6 +3767,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Используйте этот объект для указания области поддержек. Может использоваться при генерации структуры поддержек." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Объект поддержки нависаний" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Будет поддерживать всё ниже объекта, никаких нависаний не будет." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3462,8 +3819,18 @@ msgstr "Спирально печатать внешний контур" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Спирально сглаживать движение по оси Z, печатая внешний контур. Приводит к постоянному увеличению Z координаты во время печати. Этот параметр превращает сплошной объект в одностенную модель с твёрдым дном. Раньше этот параметр назывался Joris." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Спирально сглаживает движение по оси Z. Во время печати происходит постоянное увеличение по оси Z. Этот параметр превращает модель в одностенный объект с крепким дном. Параметр можно использовать только когда каждый слой состоит из одной части модели." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Сглаживать спиральные контуры" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Сглаживает спиральные контуры для уменьшения видимости шва по оси Z (такой шов должен быть едва виден при печати, но по-прежнему виден при послойном просмотре). Следует отметить, что сглаживание ведёт к размыванию мелких деталей поверхности." #: fdmprinter.def.json msgctxt "experimental label" @@ -4004,6 +4371,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Матрица преобразования, применяемая к модели при её загрузки из файла." +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Ширина одной линии поддерживающей крыши." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Радиус динамического куба" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Коэффициент для радиуса от центра каждого куба для проверки границ модели, используется для принятия решения о разделении куба. Большие значения приводят к увеличению делений, т.е. к более мелким кубам." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Расширять верхние оболочки" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Расширять области верхней оболочки (над ними будет воздух) так, что они поддерживают заполнение над ними." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Расширять нижние оболочки" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Расширять области нижней оболочки (под ними будет воздух) так, что они сцепляются с слоями заполнения сверху и снизу." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Скорость, на которой происходит печать верха и низа поддержек. Печать верха поддержек на пониженных скоростях может улучшить качество печати нависающих краёв модели." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Ускорение, с которым печатаются верх и низ поддержек. Их печать с пониженными ускорениями может улучшить качество печати нависающих частей." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Изменение максимальной мгновенной скорости, с которой печатается связующие слои поддержек." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Разрешить поддержки" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Разрешить печать поддержек. Такие структуры поддерживают части моделей со значительными навесаниями." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Этот экструдер используется для печати верха и низа поддержек. Используется при наличии нескольких экструдеров." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Высота шагов лестнично-подобного низа поддержек, лежащих на модели. Малое значение усложняет последующее удаление поддержек, но слишком большое значение может сделать структуру поддержек нестабильной." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Толщина низа поддержек" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Толщина низа поддержек. Управляет количеством плотных слоёв, которые будут напечатаны на верхних частях модели, где располагаются поддержки." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Если выбрано, то поддержки печатаются с учётом указанной высоты шага. Меньшие значения нарезаются дольше, в то время как большие значения могут привести к печати обычных поддержек в таких местах, где должен быть связующий слой." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Настройте плотность верха и низа структуры поддержек. Большее значение приведёт к улучшению нависаний, но такие поддержки будет труднее удалять." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Дистанция между линиями связующего слоя" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Расстояние между линиями связующего слоя поддержки. Этот параметр вычисляется из \"Плотности связующего слоя\", но также может быть указан самостоятельно." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Спирально сглаживать движение по оси Z, печатая внешний контур. Приводит к постоянному увеличению Z координаты во время печати. Этот параметр превращает сплошной объект в одностенную модель с твёрдым дном. Раньше этот параметр назывался Joris." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Температура при печати. Установите 0 для предварительного разогрева вручную." @@ -4108,10 +4559,6 @@ msgstr "Матрица преобразования, применяемая к #~ msgid "Line Distance" #~ msgstr "Дистанция заполнения" -#~ msgctxt "speed_support_roof label" -#~ msgid "Support Roof Speed" -#~ msgstr "Скорость печати крыши поддержек" - #~ msgctxt "retraction_combing label" #~ msgid "Enable Combing" #~ msgstr "Разрешить комбинг" @@ -4148,30 +4595,6 @@ msgstr "Матрица преобразования, применяемая к #~ msgid "The thickness of the support roofs." #~ msgstr "Толщина поддерживающей крыши." -#~ msgctxt "support_roof_line_distance label" -#~ msgid "Support Roof Line Distance" -#~ msgstr "Дистанция линии крыши" - -#~ msgctxt "support_roof_pattern option lines" -#~ msgid "Lines" -#~ msgstr "Линии" - -#~ msgctxt "support_roof_pattern option grid" -#~ msgid "Grid" -#~ msgstr "Сетка" - -#~ msgctxt "support_roof_pattern option triangles" -#~ msgid "Triangles" -#~ msgstr "Треугольники" - -#~ msgctxt "support_roof_pattern option concentric" -#~ msgid "Concentric" -#~ msgstr "Концентрический" - -#~ msgctxt "support_roof_pattern option zigzag" -#~ msgid "Zig Zag" -#~ msgstr "Зигзаг" - #~ msgctxt "support_conical_angle label" #~ msgid "Cone Angle" #~ msgstr "Угол конуса" diff --git a/resources/i18n/tr/cura.po b/resources/i18n/tr/cura.po index 1893695120..02d99e00a4 100644 --- a/resources/i18n/tr/cura.po +++ b/resources/i18n/tr/cura.po @@ -2,16 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: https://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0200\n" -"PO-Revision-Date: 2017-04-04 11:26+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0200\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: fr\n" +"Language-Team: Turkish\n" +"Language: Turkish\n" +"Lang-Code: tr\n" +"Country-Code: TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -26,7 +28,7 @@ msgctxt "@info:whatsthis" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc)" msgstr "Makine ayarlarını değiştirilmesini sağlar (yapı hacmi, nozül boyutu vb.)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:25 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:28 msgctxt "@action" msgid "Machine Settings" msgstr "Makine Ayarları" @@ -127,6 +129,26 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Değişiklik Günlüğünü Göster" +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:12 +msgctxt "@label" +msgid "Profile flatener" +msgstr "Profil düzleştirici" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/__init__.py:15 +msgctxt "@info:whatsthis" +msgid "Create a flattend quality changes profile." +msgstr "Düzleştirilmiş kalitede değiştirilmiş bir profil oluşturun." + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:20 +msgctxt "@item:inmenu" +msgid "Flatten active settings" +msgstr "Düzleştirme aktif ayarları" + +#: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:32 +msgctxt "@info:status" +msgid "Profile has been flattened & activated." +msgstr "Profil düzleştirilmiş ve aktifleştirilmiştir." + #: /home/ruben/Projects/Cura/plugins/USBPrinting/__init__.py:13 msgctxt "@label" msgid "USB printing" @@ -157,17 +179,17 @@ msgctxt "@info:status" msgid "Connected via USB" msgstr "USB ile bağlı" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:152 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:153 msgctxt "@info:status" msgid "Unable to start a new job because the printer is busy or not connected." msgstr "Yazıcı meşgul veya bağlı olmadığı için yeni bir işlem başlatılamıyor." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:450 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:456 msgctxt "@info:status" msgid "This printer does not support USB printing because it uses UltiGCode flavor." msgstr "Yazıcı, UltiGCode türü kullandığı için USB yazdırmayı desteklemiyor." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:454 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:460 msgctxt "@info:status" msgid "Unable to start a new job because the printer does not support usb printing." msgstr "Yazıcı USB ile yazdırmayı desteklemediği için yeni bir işlem başlatılamıyor." @@ -204,49 +226,49 @@ msgctxt "@item:inlistbox" msgid "Save to Removable Drive {0}" msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:89 #, python-brace-format msgctxt "@info:progress" msgid "Saving to Removable Drive {0}" msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:98 -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:99 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:102 #, python-brace-format msgctxt "@info:status" msgid "Could not save to {0}: {1}" msgstr "{0}na kaydedilemedi: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:132 #, python-brace-format msgctxt "@info:status" msgid "Saved to Removable Drive {0} as {1}" msgstr "Çıkarılabilir Sürücüye {0}, {1} olarak kaydedildi" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 msgctxt "@action:button" msgid "Eject" msgstr "Çıkar" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:133 #, python-brace-format msgctxt "@action" msgid "Eject removable device {0}" msgstr "Çıkarılabilir aygıtı çıkar {0}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:143 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:138 #, python-brace-format msgctxt "@info:status" msgid "Could not save to removable drive {0}: {1}" msgstr "Çıkarılabilir aygıta {0} kaydedilemedi: {1}" -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:153 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:148 #, python-brace-format msgctxt "@info:status" msgid "Ejected {0}. You can now safely remove the drive." msgstr "Çıkarıldı {0}. Şimdi sürücüyü güvenle kaldırabilirsiniz." -#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:155 +#: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:150 #, python-brace-format msgctxt "@info:status" msgid "Failed to eject {0}. Another program may be using the drive." @@ -326,152 +348,152 @@ msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Yazıcıya erişim talebi gönder" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:336 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:348 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Ağ üzerinden bağlandı. Lütfen yazıcıya erişim isteğini onaylayın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:343 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:355 msgctxt "@info:status" msgid "Connected over the network." msgstr "Ağ üzerinden bağlandı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:356 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:368 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Ağ üzerinden bağlandı. Yazıcıyı kontrol etmek için erişim yok." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:361 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:373 msgctxt "@info:status" msgid "Access request was denied on the printer." msgstr "Yazıcıya erişim talebi reddedildi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:364 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:376 msgctxt "@info:status" msgid "Access request failed due to a timeout." msgstr "Erişim talebi zaman aşımı nedeniyle başarısız oldu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:428 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:440 msgctxt "@info:status" msgid "The connection with the network was lost." msgstr "Ağ bağlantısı kaybedildi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:459 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:471 msgctxt "@info:status" msgid "The connection with the printer was lost. Check your printer to see if it is connected." msgstr "Yazıcı bağlantısı kaybedildi. Yazıcınızın bağlı olup olmadığını kontrol edin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:607 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:620 #, python-format msgctxt "@info:status" msgid "Unable to start a new print job, printer is busy. Current printer status is %s." msgstr "Yazıcı meşgul, yeni bir yazdırma başlatılamıyor. Geçerli yazıcı durumu: %s." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:628 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:644 #, python-brace-format msgctxt "@info:status" -msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" -msgstr "Yeni bir yazdırma başlatılamıyor. {0} yuvasına PrinterCore yüklenmedi" +msgid "Unable to start a new print job. No Printcore loaded in slot {0}" +msgstr "Yeni yazdırma işi başlatılamıyor. {0} yuvasına PrintCore yüklenmedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:635 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:651 #, python-brace-format msgctxt "@info:status" msgid "Unable to start a new print job. No material loaded in slot {0}" msgstr "Yeni bir yazdırma başlatılamıyor. {0} yuvasına Malzeme yüklenmedi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:646 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:660 #, python-brace-format msgctxt "@label" msgid "Not enough material for spool {0}." msgstr "Biriktirme {0} için yeterli malzeme yok." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:656 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 #, python-brace-format msgctxt "@label" msgid "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Ekstrüder {2} için farklı bir PrintCore (Cura: {0}, Yazıcı: {1}) seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:684 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Farklı malzeme (Cura: {0}, Yazıcı: {1}), ekstrüder {2} için seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:678 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:692 #, python-brace-format msgctxt "@label" msgid "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer." msgstr "PrintCore {0} düzgün bir şekilde ayarlanmadı. XY ayarının yazıcıda yapılması gerekiyor." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:697 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Seçilen yapılandırma ile yazdırmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:682 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:698 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 "Yazıcı yapılandırması veya kalibrasyonu ile Cura arasında eşleşme sorunu var. En iyi sonucu almak istiyorsanız her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:688 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:704 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Uyumsuz yapılandırma" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:783 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:805 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Veriler yazıcıya gönderiliyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:784 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:806 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:46 #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:73 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:350 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:377 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:61 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:258 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:374 +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:87 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:251 msgctxt "@action:button" msgid "Cancel" msgstr "İptal et" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:830 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:874 msgctxt "@info:status" msgid "Unable to send data to printer. Is another job still active?" msgstr "Veriler yazıcıya gönderilemedi. Hala etkin olan başka bir iş var mı?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:954 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1008 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:198 msgctxt "@label:MonitorStatus" msgid "Aborting print..." msgstr "Yazdırma durduruluyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:960 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1014 msgctxt "@label:MonitorStatus" msgid "Print aborted. Please check the printer" msgstr "Yazdırma durduruldu. Lütfen yazıcıyı kontrol edin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:966 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1020 msgctxt "@label:MonitorStatus" msgid "Pausing print..." msgstr "Yazdırma duraklatılıyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:968 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1022 msgctxt "@label:MonitorStatus" msgid "Resuming print..." msgstr "Yazdırma devam ediyor..." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1104 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1165 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Yazıcınız ile eşitleyin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1167 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura’da geçerli yazıcı yapılandırmanızı kullanmak istiyor musunuz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py:1169 msgctxt "@label" msgid "The print cores and/or materials on your printer differ from those within your current project. For the best result, always slice for the print cores and materials that are inserted in your printer." msgstr "PrintCore ve/veya yazıcınızdaki malzemeler mevcut projenizden farklıdır. En iyi sonucu almak istiyorsanız, her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." @@ -525,12 +547,12 @@ msgctxt "@action:button" msgid "Dismiss" msgstr "Son Ver" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:18 msgctxt "@label" msgid "Material Profiles" msgstr "Malzeme Profilleri" -#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/XmlMaterialProfile/__init__.py:21 msgctxt "@info:whatsthis" msgid "Provides capabilities to read and write XML-based material profiles." msgstr "XML tabanlı malzeme profillerini okuma ve yazma olanağı sağlar." @@ -581,20 +603,20 @@ msgctxt "@item:inlistbox" msgid "Layers" msgstr "Katmanlar" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:91 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.py:93 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görüntülemez." -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:14 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:14 msgctxt "@label" -msgid "Version Upgrade 2.4 to 2.5" -msgstr "2.4’ten 2.5’e Sürüm Yükseltme" +msgid "Version Upgrade 2.5 to 2.6" +msgstr "2.5’ten 2.6’ya Sürüm Yükseltme" -#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py:17 +#: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py:17 msgctxt "@info:whatsthis" -msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." -msgstr "Cura 2.4’ten Cura 2.5’e yükseltme yapılandırmaları." +msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." +msgstr "Cura 2.5’ten Cura 2.6’ya yükseltme yapılandırmaları." #: /home/ruben/Projects/Cura/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py:14 msgctxt "@label" @@ -651,24 +673,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF Resmi" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:260 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:84 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:272 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:105 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Seçilen malzeme, seçilen makine veya yapılandırma ile uyumlu değil." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:281 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:299 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Geçerli ayarlarla dilimlenemiyor. Şu ayarlarda hata var: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:290 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:308 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "İlk direk veya ilk konum(lar) geçersiz olduğu için dilimlenemiyor." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:298 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:316 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Modeller yapı hacmine sığmadığı için dilimlenecek bir şey yok. Lütfen sığdırmak için modelleri ölçeklendirin veya döndürün." @@ -683,8 +705,8 @@ msgctxt "@info:whatsthis" msgid "Provides the link to the CuraEngine slicing backend." msgstr "CuraEngine arka dilimleme ucuna bağlantı sağlar." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:61 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:234 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:64 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:238 msgctxt "@info:status" msgid "Processing Layers" msgstr "Katmanlar İşleniyor" @@ -709,36 +731,36 @@ msgctxt "@info:tooltip" msgid "Configure Per Model Settings" msgstr "Model Başına Ayarları Yapılandır" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:162 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:571 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:165 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:643 msgctxt "@title:tab" msgid "Recommended" msgstr "Önerilen Ayarlar" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:164 -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:577 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:167 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:648 msgctxt "@title:tab" msgid "Custom" msgstr "Özel" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:19 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:27 msgctxt "@label" msgid "3MF Reader" msgstr "3MF Okuyucu" -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:30 msgctxt "@info:whatsthis" msgid "Provides support for reading 3MF files." msgstr "3MF dosyalarının okunması için destek sağlar." -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:28 -#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:35 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/3MFReader/__init__.py:44 msgctxt "@item:inlistbox" msgid "3MF File" msgstr "3MF Dosyası" -#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:60 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1042 +#: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:119 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1047 msgctxt "@label" msgid "Nozzle" msgstr "Nozül" @@ -773,11 +795,16 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G Dosyası" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:227 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:254 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code ayrıştırma" +#: /home/ruben/Projects/Cura/plugins/GCodeReader/GCodeReader.py:365 +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 "Dosya göndermeden önce g-code’un yazıcınız ve yazıcı yapılandırmanız için uygun olduğundan emin olun. G-code temsili doğru olmayabilir." + #: /home/ruben/Projects/Cura/plugins/CuraProfileWriter/__init__.py:12 msgctxt "@label" msgid "Cura Profile Writer" @@ -794,41 +821,42 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura Profili" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:13 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:19 msgctxt "@label" msgid "3MF Writer" msgstr "3MF Yazıcı" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:16 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 msgctxt "@info:whatsthis" msgid "Provides support for writing 3MF files." msgstr "3MF dosyalarının yazılması için destek sağlar." -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:22 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:31 msgctxt "@item:inlistbox" msgid "3MF file" msgstr "3MF dosyası" -#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:30 +#: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:39 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" msgstr "Cura Projesi 3MF dosyası" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:15 -msgctxt "@label" -msgid "Ultimaker machine actions" -msgstr "Ultimaker makine eylemleri" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:18 -msgctxt "@info:whatsthis" -msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" -msgstr "Ultimaker makineleri için makine eylemleri sunar (yatak dengeleme sihirbazı, yükseltme seçme vb.)" - +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:20 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:20 msgctxt "@action" msgid "Select upgrades" msgstr "Yükseltmeleri seçin" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:16 +msgctxt "@label" +msgid "Ultimaker machine actions" +msgstr "Ultimaker makine eylemleri" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/__init__.py:19 +msgctxt "@info:whatsthis" +msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc)" +msgstr "Ultimaker makineleri için makine eylemleri sunar (yatak dengeleme sihirbazı, yükseltme seçme vb.)" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 msgctxt "@action" msgid "Upgrade Firmware" @@ -854,7 +882,7 @@ msgctxt "@info:whatsthis" msgid "Provides support for importing Cura profiles." msgstr "Cura profillerinin içe aktarılması için destek sağlar." -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:214 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:247 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" @@ -870,239 +898,309 @@ msgctxt "@item:material" msgid "Unknown material" msgstr "Bilinmeyen malzeme" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:353 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:82 +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:30 +msgctxt "@info:status" +msgid "Finding new location for objects" +msgstr "Nesneler için yeni konum bulunuyor" + +#: /home/ruben/Projects/Cura/cura/ArrangeObjectsJob.py:85 +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:83 +msgctxt "@info:status" +msgid "Unable to find a location within the build volume for all objects" +msgstr "Yapılan hacim içinde tüm nesneler için konum bulunamadı" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:355 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:112 msgctxt "@title:window" msgid "File Already Exists" msgstr "Dosya Zaten Mevcut" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:354 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:83 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 #, python-brace-format msgctxt "@label" msgid "The file {0} already exists. Are you sure you want to overwrite it?" msgstr "Dosya {0} zaten mevcut. Üstüne yazmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:1243 -msgctxt "@info:status" -msgid "Unable to find a quality profile for this combination. Default settings will be used instead." -msgstr "Bu birleşim için uygun bir profil bulunamadı. Bunun yerine varsayılan ayarlar kullanılacak." +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:739 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:740 +msgctxt "@label" +msgid "Custom" +msgstr "Özel" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:113 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:741 +msgctxt "@label" +msgid "Custom Material" +msgstr "Özel Malzeme" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: {1}" msgstr "Profilin {0}na aktarımı başarısız oldu: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:118 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:148 #, python-brace-format msgctxt "@info:status" msgid "Failed to export profile to {0}: Writer plugin reported failure." msgstr "Profilin {0}na aktarımı başarısız oldu: Yazıcı uzantı hata bildirdi." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:151 #, python-brace-format msgctxt "@info:status" msgid "Exported profile to {0}" msgstr "Profil {0}na aktarıldı" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:147 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:169 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:177 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:199 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:208 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:242 #, python-brace-format msgctxt "@info:status" msgid "Failed to import profile from {0}: {1}" msgstr "{0}dan profil içe aktarımı başarısız oldu: {1}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:176 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:210 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:246 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil başarıyla içe aktarıldı {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:213 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:249 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} öğesinde bilinmeyen bir dosya türü var veya profil bozuk." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:219 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:267 msgctxt "@label" msgid "Custom profile" msgstr "Özel profil" -#: /home/ruben/Projects/Cura/cura/BuildVolume.py:94 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:278 +msgctxt "@info:status" +msgid "Profile is missing a quality type." +msgstr "Profilde eksik bir kalite tipi var." + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:300 +#, python-brace-format +msgctxt "@info:status" +msgid "Could not find a quality type {0} for the current configuration." +msgstr "Mevcut yapılandırma için bir kalite tipi {0} bulunamıyor." + +#: /home/ruben/Projects/Cura/cura/BuildVolume.py:95 msgctxt "@info:status" msgid "The build volume height has been reduced due to the value of the \"Print Sequence\" setting to prevent the gantry from colliding with printed models." msgstr "Portalın yazdırılan modeller ile çarpışmasını önlemek için yapı hacmi yüksekliği “Sıralamayı Yazdır” ayarı nedeniyle azaltıldı." -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:51 -msgctxt "@title:window" -msgid "Oops!" -msgstr "Hay aksi!" +#: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:34 +msgctxt "@info:status" +msgid "Multiplying and placing objects" +msgstr "Nesneler çoğaltılıyor ve yerleştiriliyor" -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:78 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:54 +msgctxt "@title:window" +msgid "Crash Report" +msgstr "Çökme Raporu" + +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:79 msgctxt "@label" msgid "" "

A fatal exception has occurred that we could not recover from!

\n" -"

We hope this picture of a kitten helps you recover from the shock.

\n" "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" " " -msgstr "

Düzeltemediğimiz önemli bir özel durum oluştu!

\n

Umarız bu yavru kedi resmi şoku atlatmanıza yardımcı olur.

\n

Bir hata raporu göndermek için aşağıdaki bilgileri kullanın: http://github.com/Ultimaker/Cura/issues

\n " +msgstr "

Kurtulunamayan ciddi bir olağanüstü durum oluştu!

\n

Yazılım hatası raporunu http://github.com/Ultimaker/Cura/issues

adresine gönderirken aşağıdaki bilgileri kullanınız\n " -#: /home/ruben/Projects/Cura/cura/CrashHandler.py:101 +#: /home/ruben/Projects/Cura/cura/CrashHandler.py:112 msgctxt "@action:button" msgid "Open Web Page" msgstr "Web Sayfasını Aç" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:211 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:238 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Makineler yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:594 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Görünüm ayarlanıyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:603 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:636 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Arayüz yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:744 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:793 #, python-format msgctxt "@info" 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:1192 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1263 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Aynı anda yalnızca bir G-code dosyası yüklenebilir. {0} içe aktarma atlandı" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1201 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1272 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "G-code yüklenirken başka bir dosya açılamaz. {0} içe aktarma atlandı" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:27 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:53 msgctxt "@title" msgid "Machine Settings" msgstr "Makine Ayarları" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:38 -msgctxt "@label" -msgid "Please enter the correct settings for your printer below:" -msgstr "Lütfen aşağıdaki yazıcınız için doğru ayarları girin:" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:71 +msgctxt "@title:tab" +msgid "Printer" +msgstr "Yazıcı" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:63 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 msgctxt "@label" msgid "Printer Settings" msgstr "Yazıcı Ayarları" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:74 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:102 msgctxt "@label" msgid "X (Width)" msgstr "X (Genişlik)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:85 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:101 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:117 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:289 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:305 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:341 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:363 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:109 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:122 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:135 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:343 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:399 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:549 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:561 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:574 msgctxt "@label" msgid "mm" msgstr "mm" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:90 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:115 msgctxt "@label" msgid "Y (Depth)" msgstr "Y (Derinlik)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:106 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:128 msgctxt "@label" msgid "Z (Height)" msgstr "Z (Yükseklik)" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:129 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:148 msgctxt "@label" msgid "Build Plate Shape" msgstr "Yapı Levhası Şekli" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:176 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:198 msgctxt "@option:check" msgid "Machine Center is Zero" msgstr "Makine Merkezi Sıfırda" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:187 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:209 msgctxt "@option:check" msgid "Heated Bed" msgstr "Isıtılmış Yatak" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:199 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:221 msgctxt "@label" msgid "GCode Flavor" msgstr "GCode Türü" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:251 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:273 msgctxt "@label" msgid "Printhead Settings" msgstr "Yazıcı Başlığı Ayarları" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:262 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:285 msgctxt "@label" msgid "X min" msgstr "X min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:297 msgctxt "@label" msgid "Y min" msgstr "Y min" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:309 msgctxt "@label" msgid "X max" msgstr "X maks" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:310 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:321 msgctxt "@label" msgid "Y max" msgstr "Y maks" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:330 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:336 msgctxt "@label" msgid "Gantry height" msgstr "Portal yüksekliği" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:350 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:351 +msgctxt "@label" +msgid "Number of Extruders" +msgstr "Ekstrüder Sayısı" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:379 +msgctxt "@label" +msgid "Material Diameter" +msgstr "Malzeme Çapı" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:390 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:540 msgctxt "@label" msgid "Nozzle size" msgstr "Nozzle boyutu" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:382 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:417 msgctxt "@label" msgid "Start Gcode" msgstr "Gcode’u başlat" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:406 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:446 msgctxt "@label" msgid "End Gcode" msgstr "Gcode’u sonlandır" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:528 +msgctxt "@label" +msgid "Nozzle Settings" +msgstr "Nozül Ayarları" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:554 +msgctxt "@label" +msgid "Nozzle offset X" +msgstr "Nozül X ofseti" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:567 +msgctxt "@label" +msgid "Nozzle offset Y" +msgstr "Nozül Y ofseti" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:592 +msgctxt "@label" +msgid "Extruder Start Gcode" +msgstr "Ekstrüder Gcode’u başlat" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:620 +msgctxt "@label" +msgid "Extruder End Gcode" +msgstr "Ekstrüder Gcode’u sonlandır" + #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:20 msgctxt "@title:window" msgid "Doodle3D Settings" msgstr "Doodle3D Ayarları" #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/SettingsWindow.qml:53 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:244 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:262 msgctxt "@action:button" msgid "Save" msgstr "Kaydet" @@ -1121,7 +1219,7 @@ msgstr "Ekstruder Sıcaklığı: %1/%2°C" # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #: /home/ruben/Projects/Cura/plugins/Doodle3D-cura-plugin/ControlWindow.qml:45 msgctxt "@label" msgid "" @@ -1156,7 +1254,7 @@ msgstr "Yazdır" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:105 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:55 #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:446 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:435 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:304 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:125 #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 @@ -1209,12 +1307,12 @@ msgctxt "@label" msgid "Unknown error code: %1" msgstr "Bilinmeyen hata kodu: %1" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:57 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:55 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Ağ Yazıcısına Bağlan" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:67 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:65 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" @@ -1222,87 +1320,87 @@ msgid "" "Select your printer from the list below:" msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:77 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:75 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:44 msgctxt "@action:button" msgid "Add" msgstr "Ekle" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:85 msgctxt "@action:button" msgid "Edit" msgstr "Düzenle" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:96 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:50 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:95 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:187 msgctxt "@action:button" msgid "Remove" msgstr "Kaldır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:104 msgctxt "@action:button" msgid "Refresh" msgstr "Yenile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:198 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:196 msgctxt "@label" msgid "If your printer is not listed, read the network-printing troubleshooting guide" msgstr "Yazıcınız listede yoksa ağ yazdırma sorun giderme kılavuzunu okuyun" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:225 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:223 msgctxt "@label" msgid "Type" msgstr "Tür" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:237 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:235 msgctxt "@label" msgid "Ultimaker 3" msgstr "Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:240 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:238 msgctxt "@label" msgid "Ultimaker 3 Extended" msgstr "Genişletilmiş Ultimaker 3" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:243 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:241 msgctxt "@label" msgid "Unknown" msgstr "Bilinmiyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:256 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:254 msgctxt "@label" msgid "Firmware version" msgstr "Üretici yazılımı sürümü" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:266 msgctxt "@label" msgid "Address" msgstr "Adres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:282 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:280 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Bu adresteki yazıcı henüz yanıt vermedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:287 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:285 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/UM3InfoComponents.qml:38 msgctxt "@action:button" msgid "Connect" msgstr "Bağlan" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:301 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:299 msgctxt "@title:window" msgid "Printer Address" msgstr "Yazıcı Adresi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:329 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "IP adresini veya yazıcınızın ağ üzerindeki ana bilgisayar adını girin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/DiscoverUM3Action.qml:359 msgctxt "@action:button" msgid "Ok" msgstr "Tamam" @@ -1347,72 +1445,67 @@ msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Etkin son işleme dosyalarını değiştir" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:59 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:61 msgctxt "@label" msgid "View Mode: Layers" msgstr "Görüntüleme Modu: Katmanlar" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:75 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:78 msgctxt "@label" msgid "Color scheme" msgstr "Renk şeması" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:88 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 msgctxt "@label:listbox" msgid "Material Color" msgstr "Malzeme Rengi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:92 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:96 msgctxt "@label:listbox" msgid "Line Type" msgstr "Çizgi Tipi" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:133 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:134 msgctxt "@label" msgid "Compatibility Mode" msgstr "Uyumluluk Modu" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:171 -msgctxt "@label" -msgid "Extruder %1" -msgstr "Ekstruder %1" - -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:185 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:199 msgctxt "@label" msgid "Show Travels" msgstr "Geçişleri Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:206 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:205 msgctxt "@label" msgid "Show Helpers" msgstr "Yardımcıları Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:227 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:211 msgctxt "@label" msgid "Show Shell" msgstr "Kabuğu Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:248 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:217 msgctxt "@label" msgid "Show Infill" msgstr "Dolguyu Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:269 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:253 msgctxt "@label" msgid "Only Show Top Layers" msgstr "Yalnızca Üst Katmanları Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:262 msgctxt "@label" msgid "Show 5 Detailed Layers On Top" msgstr "En Üstteki 5 Ayrıntılı Katmanı Göster" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:285 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:273 msgctxt "@label" msgid "Top / Bottom" msgstr "Üst / Alt" -#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:306 +#: /home/ruben/Projects/Cura/plugins/LayerView/LayerView.qml:277 msgctxt "@label" msgid "Inner Wall" msgstr "İç Duvar" @@ -1488,34 +1581,27 @@ msgid "Smoothing" msgstr "Düzeltme" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:55 msgctxt "@action:button" msgid "OK" msgstr "TAMAM" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:34 -msgctxt "@label Followed by extruder selection drop-down." -msgid "Print model with" -msgstr "........... İle modeli yazdır" - -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:286 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:155 msgctxt "@action:button" msgid "Select settings" msgstr "Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:326 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:195 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Bu modeli Özelleştirmek için Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:350 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:219 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:91 -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:73 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrele..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:374 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:243 msgctxt "@label:checkbox" msgid "Show all" msgstr "Tümünü göster" @@ -1525,128 +1611,144 @@ msgctxt "@title:window" msgid "Open Project" msgstr "Proje Aç" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:60 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:57 msgctxt "@action:ComboBox option" msgid "Update existing" msgstr "Var olanları güncelleştir" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:61 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:58 msgctxt "@action:ComboBox option" msgid "Create new" msgstr "Yeni oluştur" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:72 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:77 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:70 msgctxt "@action:title" msgid "Summary - Cura Project" msgstr "Özet - Cura Projesi" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:94 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:95 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:91 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:88 msgctxt "@action:label" msgid "Printer settings" msgstr "Yazıcı ayarları" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:110 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:107 msgctxt "@info:tooltip" msgid "How should the conflict in the machine be resolved?" msgstr "Makinedeki çakışma nasıl çözülmelidir?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:130 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:104 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:97 msgctxt "@action:label" msgid "Type" msgstr "Tür" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:146 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:203 -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:295 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:195 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:143 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:200 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:292 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:112 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:188 msgctxt "@action:label" msgid "Name" msgstr "İsim" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:167 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:171 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:164 msgctxt "@action:label" msgid "Profile settings" msgstr "Profil ayarları" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:183 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:180 msgctxt "@info:tooltip" msgid "How should the conflict in the profile be resolved?" msgstr "Profildeki çakışma nasıl çözülmelidir?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:218 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:179 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:172 msgctxt "@action:label" msgid "Not in profile" msgstr "Profilde değil" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:223 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:184 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:177 msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" msgstr[0] "%1 geçersiz kılma" msgstr[1] "%1 geçersiz kılmalar" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:234 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:231 msgctxt "@action:label" msgid "Derivative from" msgstr "Kaynağı" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:239 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:236 msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" msgstr[0] "%1, %2 geçersiz kılma" msgstr[1] "%1, %2 geçersiz kılmalar" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:255 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:252 msgctxt "@action:label" msgid "Material settings" msgstr "Malzeme ayarları" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:271 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@info:tooltip" msgid "How should the conflict in the material be resolved?" msgstr "Malzemedeki çakışma nasıl çözülmelidir?" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:314 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:214 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:207 msgctxt "@action:label" msgid "Setting visibility" msgstr "Görünürlük ayarı" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:323 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:320 msgctxt "@action:label" msgid "Mode" msgstr "Mod" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:338 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:223 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:335 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:216 msgctxt "@action:label" msgid "Visible settings:" msgstr "Görünür ayarlar:" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:343 -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:228 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:340 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:221 msgctxt "@action:label" msgid "%1 out of %2" msgstr "%1 / %2" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:369 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:366 msgctxt "@action:warning" msgid "Loading a project will clear all models on the buildplate" msgstr "Bir projenin yüklenmesi, yapı levhasındaki tüm modelleri silecektir" -#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:388 +#: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:385 msgctxt "@action:button" msgid "Open" msgstr "Aç" +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:25 +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 +msgctxt "@title" +msgid "Select Printer Upgrades" +msgstr "Yazıcı Yükseltmelerini seçin" + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:37 +msgctxt "@label" +msgid "Please select any upgrades made to this Ultimaker 2." +msgstr "Ultimaker 2 için yapılan herhangi bir yükseltmeyi seçiniz." + +#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:45 +msgctxt "@label" +msgid "Olsson Block" +msgstr "Olsson Bloku" + #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:27 msgctxt "@title" msgid "Build Plate Leveling" @@ -1702,11 +1804,6 @@ msgctxt "@title:window" msgid "Select custom firmware" msgstr "Özel aygıt yazılımı seçin" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 -msgctxt "@title" -msgid "Select Printer Upgrades" -msgstr "Yazıcı Yükseltmelerini seçin" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -1821,7 +1918,7 @@ msgid "Printer does not accept commands" msgstr "Yazıcı komutları kabul etmiyor" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:97 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:196 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" msgstr "Bakımda. Lütfen yazıcıyı kontrol edin" @@ -1832,19 +1929,19 @@ msgid "Lost connection with the printer" msgstr "Yazıcı bağlantısı koptu" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:104 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 msgctxt "@label:MonitorStatus" msgid "Printing..." msgstr "Yazdırılıyor..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:107 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:186 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 msgctxt "@label:MonitorStatus" msgid "Paused" msgstr "Duraklatıldı" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:110 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 msgctxt "@label:MonitorStatus" msgid "Preparing..." msgstr "Hazırlanıyor..." @@ -1879,137 +1976,147 @@ msgctxt "@label" msgid "Are you sure you want to abort the print?" msgstr "Yazdırmayı iptal etmek istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:14 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:15 msgctxt "@title:window" msgid "Discard or Keep changes" msgstr "Değişiklikleri iptal et veya kaydet" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:59 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:57 msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:108 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" msgid "Profile settings" msgstr "Profil ayarları" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:115 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:117 msgctxt "@title:column" msgid "Default" msgstr "Varsayılan" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:122 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:124 msgctxt "@title:column" msgid "Customized" msgstr "Özelleştirilmiş" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:152 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:564 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Her zaman sor" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:153 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:392 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:565 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" msgstr "İptal et ve bir daha sorma" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:393 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:566 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" msgstr "Kaydet ve bir daha sorma" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:189 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" msgid "Discard" msgstr "İptal" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:209 msgctxt "@action:button" msgid "Keep" msgstr "Kaydet" -#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:215 +#: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:222 msgctxt "@action:button" msgid "Create New Profile" msgstr "Yeni Profil Oluştur" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:29 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:44 msgctxt "@title" msgid "Information" msgstr "Bilgi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:53 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:68 msgctxt "@label" msgid "Display Name" msgstr "Görünen Ad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:78 msgctxt "@label" msgid "Brand" msgstr "Marka" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:73 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:92 msgctxt "@label" msgid "Material Type" msgstr "Malzeme Türü" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:82 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:105 msgctxt "@label" msgid "Color" msgstr "Renk" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:116 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:139 msgctxt "@label" msgid "Properties" msgstr "Özellikler" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:141 msgctxt "@label" msgid "Density" msgstr "Yoğunluk" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:156 msgctxt "@label" msgid "Diameter" msgstr "Çap" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:171 msgctxt "@label" msgid "Filament Cost" msgstr "Filaman masrafı" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:187 msgctxt "@label" msgid "Filament weight" msgstr "Filaman ağırlığı" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:181 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:204 msgctxt "@label" msgid "Filament length" msgstr "Filaman uzunluğu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:213 msgctxt "@label" msgid "Cost per Meter" msgstr "Metre başına maliyet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:227 +msgctxt "@label" +msgid "This material is linked to %1 and shares some of its properties." +msgstr "Bu malzeme %1’e bağlıdır ve özelliklerinden bazılarını paylaşır." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:234 +msgctxt "@label" +msgid "Unlink Material" +msgstr "Malzemeyi Ayır" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:245 msgctxt "@label" msgid "Description" msgstr "Tanım" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:214 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:258 msgctxt "@label" msgid "Adhesion Information" msgstr "Yapışma Bilgileri" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:238 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:284 msgctxt "@label" msgid "Print settings" msgstr "Yazdırma ayarları" @@ -2045,185 +2152,240 @@ msgid "Unit" msgstr "Birim" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:14 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:502 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:461 msgctxt "@title:tab" msgid "General" msgstr "Genel" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:92 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:126 msgctxt "@label" msgid "Interface" msgstr "Arayüz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:101 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:137 msgctxt "@label" msgid "Language:" msgstr "Dil:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:194 msgctxt "@label" msgid "Currency:" msgstr "Para Birimi:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:208 msgctxt "@label" -msgid "You will need to restart the application for language changes to have effect." -msgstr "Dil değişikliklerinin tamamlanması için uygulamayı yeniden başlatmanız gerekecektir." +msgid "Theme:" +msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +msgctxt "@item:inlistbox" +msgid "Ultimaker" +msgstr "Ultimaker" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:263 +msgctxt "@label" +msgid "You will need to restart the application for these changes to have effect." +msgstr "Bu değişikliklerinin geçerli olması için uygulamayı yeniden başlatmanız gerekecektir." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:280 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Ayarlar değiştirilirken otomatik olarak dilimle." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:288 msgctxt "@option:check" msgid "Slice automatically" msgstr "Otomatik olarak dilimle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:213 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:302 msgctxt "@label" msgid "Viewport behavior" msgstr "Görünüm şekli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Modelin desteklenmeyen alanlarını kırmızı ile gösterin. Destek alınmadan bu alanlar düzgün bir şekilde yazdırılmayacaktır." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:230 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 msgctxt "@option:check" msgid "Display overhang" msgstr "Dışarıda kalan alanı göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:237 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:326 msgctxt "@info:tooltip" -msgid "Moves the camera so the model is in the center of the view when an model is selected" -msgstr "Kamerayı hareket ettirir, bu şekilde model seçimi yapıldığında model görüntünün ortasında bulunur" +msgid "Moves the camera so the model is in the center of the view when a model is selected" +msgstr "Bir model seçildiğinde bu model görüntünün ortasında kalacak şekilde kamera hareket eder." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Öğeyi seçince kamerayı ortalayın" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +msgctxt "@info:tooltip" +msgid "Should the default zoom behavior of cura be inverted?" +msgstr "Cura’nın varsayılan yakınlaştırma davranışı tersine çevrilsin mi?" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:346 +msgctxt "@action:button" +msgid "Invert the direction of camera zoom." +msgstr "Kamera yakınlaştırma yönünü ters çevir." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Platformun üzerindeki öğeler kesişmemeleri için hareket ettirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:256 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellerin birbirinden ayrı olduğundan emin olduğundan emin olun" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:264 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:368 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Platformun üzerindeki modeller yapı levhasına değmeleri için indirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:373 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modelleri otomatik olarak yapı tahtasına indirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:385 +msgctxt "@info:tooltip" +msgid "Show caution message in gcode reader." +msgstr "Gcode okuyucuda uyarı mesajı göster." + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:394 +msgctxt "@option:check" +msgid "Caution message in gcode reader" +msgstr "Gcode okuyucuda uyarı mesajı" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Katman, uyumluluk moduna zorlansın mı?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Katman görünümünü uyumluluk moduna zorla (yeniden başlatma gerekir)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:299 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:422 msgctxt "@label" msgid "Opening and saving files" msgstr "Dosyaların açılması ve kaydedilmesi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:305 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:428 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Modeller çok büyükse yapı hacmine göre ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:310 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:433 msgctxt "@option:check" msgid "Scale large models" msgstr "Büyük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:442 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 "Bir modelin birimi milimetre değil de metre ise oldukça küçük görünebilir. Bu modeller ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:324 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Çok küçük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:456 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Yazıcı adına bağlı bir ön ek otomatik olarak yazdırma işinin adına eklenmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:338 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:461 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Makine ön ekini iş adına ekleyin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:347 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Bir proje dosyasını kaydederken özet gösterilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:351 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:474 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Projeyi kaydederken özet iletişim kutusunu göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:483 +msgctxt "@info:tooltip" +msgid "Default behavior when opening a project file" +msgstr "Bir proje dosyası açıldığında varsayılan davranış" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:491 +msgctxt "@window:text" +msgid "Default behavior when opening a project file: " +msgstr "Bir proje dosyası açıldığında varsayılan davranış: " + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:504 +msgctxt "@option:openProject" +msgid "Always ask" +msgstr "Her zaman sor" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 +msgctxt "@option:openProject" +msgid "Always open as a project" +msgstr "Her zaman proje olarak aç" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:506 +msgctxt "@option:openProject" +msgid "Always import models" +msgstr "Her zaman modelleri içe aktar" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:542 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 "Bir profil üzerinde değişiklik yapıp farklı bir profile geçtiğinizde, değişikliklerin kaydedilmesini isteyip istemediğinizi soran bir iletişim kutusu açılır. Alternatif olarak bu işleve yönelik varsayılan bir davranış seçebilir ve bu iletişim kutusunun bir daha görüntülenmemesini tercih edebilirsiniz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:378 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 msgctxt "@label" msgid "Override Profile" msgstr "Profilin Üzerine Yaz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:427 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:600 msgctxt "@label" msgid "Privacy" msgstr "Gizlilik" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:434 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:607 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura, program başladığında güncellemeleri kontrol etmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:612 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Başlangıçta güncellemeleri kontrol edin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:622 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 "Yazdırmanızdaki anonim veriler Ultimaker’a gönderilmeli mi? Unutmayın; hiçbir model, IP adresi veya diğer kişiye özgü bilgiler gönderilmez veya saklanmaz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:627 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonim) yazdırma bilgisi gönder" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:466 msgctxt "@title:tab" msgid "Printers" msgstr "Yazıcılar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:37 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:51 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:137 msgctxt "@action:button" msgid "Activate" msgstr "Etkinleştir" @@ -2239,34 +2401,34 @@ msgctxt "@label" msgid "Printer type:" msgstr "Yazıcı türü:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:160 msgctxt "@label" msgid "Connection:" msgstr "Bağlantı:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:164 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:166 #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:52 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Yazıcı bağlı değil." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:170 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:172 msgctxt "@label" msgid "State:" msgstr "Durum:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:192 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" msgstr "Yapı levhasının temizlenmesi bekleniyor" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:201 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" msgstr "Yazdırma işlemi bekleniyor" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:511 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:470 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiller" @@ -2292,13 +2454,13 @@ msgid "Duplicate" msgstr "Çoğalt" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:113 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:194 msgctxt "@action:button" msgid "Import" msgstr "İçe aktar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:119 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:173 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:201 msgctxt "@action:button" msgid "Export" msgstr "Dışa aktar" @@ -2364,60 +2526,65 @@ msgid "Export Profile" msgstr "Profili Dışa Aktar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:509 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:468 msgctxt "@title:tab" msgid "Materials" msgstr "Malzemeler" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:107 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:116 msgctxt "@action:label %1 is printer name, %2 is how this printer names variants, %3 is variant name" msgid "Printer: %1, %2: %3" msgstr "Yazıcı: %1, %2: %3" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:120 msgctxt "@action:label %1 is printer name" msgid "Printer: %1" msgstr "Yazıcı: %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:148 +msgctxt "@action:button" +msgid "Create" +msgstr "Oluştur" + +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:166 msgctxt "@action:button" msgid "Duplicate" msgstr "Çoğalt" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:261 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:269 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:303 msgctxt "@title:window" msgid "Import Material" msgstr "Malzemeyi İçe Aktar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:270 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:304 msgctxt "@info:status" msgid "Could not import material %1: %2" msgstr "Malzeme aktarılamadı%1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 msgctxt "@info:status" msgid "Successfully imported material %1" msgstr "Malzeme başarıyla aktarıldı %1" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:293 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:327 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:342 msgctxt "@title:window" msgid "Export Material" msgstr "Malzemeyi Dışa Aktar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:312 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:346 msgctxt "@info:status" msgid "Failed to export material to %1: %2" msgstr "Malzemenin dışa aktarımı başarısız oldu %1: %2" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:318 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialsPage.qml:352 msgctxt "@info:status" msgid "Successfully exported material to %1" msgstr "Malzeme başarıyla dışa aktarıldı %1" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:821 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:783 msgctxt "@title:window" msgid "Add Printer" msgstr "Yazıcı Ekle" @@ -2432,17 +2599,67 @@ msgctxt "@action:button" msgid "Add Printer" msgstr "Yazıcı Ekle" +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:179 +msgctxt "@tooltip" +msgid "Outer Wall" +msgstr "Dış Duvar" + #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:180 +msgctxt "@tooltip" +msgid "Inner Walls" +msgstr "İç Duvarlar" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:181 +msgctxt "@tooltip" +msgid "Skin" +msgstr "Yüzey Alanı" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:182 +msgctxt "@tooltip" +msgid "Infill" +msgstr "Dolgu" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:183 +msgctxt "@tooltip" +msgid "Support Infill" +msgstr "Destek Dolgusu" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:184 +msgctxt "@tooltip" +msgid "Support Interface" +msgstr "Destek Arayüzü" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:185 +msgctxt "@tooltip" +msgid "Support" +msgstr "Destek" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:186 +msgctxt "@tooltip" +msgid "Travel" +msgstr "Hareket" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:187 +msgctxt "@tooltip" +msgid "Retractions" +msgstr "Geri Çekmeler" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:188 +msgctxt "@tooltip" +msgid "Other" +msgstr "Diğer" + +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:215 msgctxt "@label" msgid "00h 00min" msgstr "00sa 00dk" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:231 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:268 msgctxt "@label" msgid "%1 m / ~ %2 g / ~ %4 %3" msgstr "%1 m / ~ %2 g / ~ %4 %3" -#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:273 msgctxt "@label" msgid "%1 m / ~ %2 g" msgstr "%1 m / ~ %2 g" @@ -2554,27 +2771,32 @@ msgctxt "@label" msgid "SVG icons" msgstr "SVG simgeleri" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:60 +msgctxt "@label:textbox" +msgid "Search..." +msgstr "Ara..." + +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:337 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Değeri tüm ekstruderlere kopyala" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:352 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Bu ayarı gizle" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:375 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:362 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Bu ayarı gösterme" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:366 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Bu ayarı görünür yap" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:398 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:385 msgctxt "@action:menu" msgid "Configure setting visiblity..." msgstr "Görünürlük ayarını yapılandır..." @@ -2645,17 +2867,17 @@ msgid "" "G-code files cannot be modified" msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:572 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:644 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Önerilen Yazıcı Ayarları

Seçilen yazıcı, malzeme ve kalite için önerilen ayarları kullanarak yazdırın." -#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:578 +#: /home/ruben/Projects/Cura/resources/qml/Sidebar.qml:649 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Özel Yazıcı Ayarları

Dilimleme işleminin her bir bölümünü detaylıca kontrol ederek yazdırın." -#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:26 +#: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:35 msgctxt "@title:menuitem %1 is the automatically selected material" msgid "Automatic: %1" msgstr "Otomatik: %1" @@ -2670,6 +2892,25 @@ msgctxt "@title:menuitem %1 is the value from the printer" msgid "Automatic: %1" msgstr "Otomatik: %1" +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:25 +msgctxt "@label" +msgid "Print Selected Model With:" +msgid_plural "Print Selected Models With:" +msgstr[0] "Seçili Modeli Şununla Yazdır:" +msgstr[1] "Seçili Modelleri Şununla Yazdır:" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:82 +msgctxt "@title:window" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Seçili Modeli Çoğalt" +msgstr[1] "Seçili Modelleri Çoğalt" + +#: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:109 +msgctxt "@label" +msgid "Number of Copies" +msgstr "Kopya Sayısı" + #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" msgid "Open &Recent" @@ -2760,171 +3001,192 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Kalan tahmini süre" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:63 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:67 msgctxt "@action:inmenu" msgid "Toggle Fu&ll Screen" msgstr "Tam Ekrana Geç" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:70 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:74 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Geri Al" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:80 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:84 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Yinele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:90 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:94 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Çıkış" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:98 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:102 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura’yı yapılandır..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:109 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Yazıcı Ekle..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:111 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:115 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Yazıcıları Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:122 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Malzemeleri Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:130 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Profili geçerli ayarlar/geçersiz kılmalar ile güncelle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:138 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Geçerli değişiklikleri iptal et" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:146 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:150 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Geçerli ayarlardan/geçersiz kılmalardan profil oluştur..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profilleri Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:163 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Çevrimiçi Belgeleri Göster" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:167 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:171 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Hata Bildir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:179 msgctxt "@action:inmenu menubar:help" msgid "&About..." msgstr "&Hakkında..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:186 msgctxt "@action:inmenu menubar:edit" -msgid "Delete &Selection" -msgstr "Seçimi Sil" +msgid "Delete &Selected Model" +msgid_plural "Delete &Selected Models" +msgstr[0] "&Seçili Modeli Sil" +msgstr[1] "&Seçili Modelleri Sil" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +msgctxt "@action:inmenu menubar:edit" +msgid "Center Selected Model" +msgid_plural "Center Selected Models" +msgstr[0] "Seçili Modeli Ortala" +msgstr[1] "Seçili Modelleri Ortala" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:205 +msgctxt "@action:inmenu menubar:edit" +msgid "Multiply Selected Model" +msgid_plural "Multiply Selected Models" +msgstr[0] "Seçili Modeli Çoğalt" +msgstr[1] "Seçili Modelleri Çoğalt" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:214 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Modeli Sil" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:222 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Modeli Platformda Ortala" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:206 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:228 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modelleri Gruplandır" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:238 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Model Grubunu Çöz" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:248 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Modelleri Birleştir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:258 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Modeli Çoğalt..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:265 msgctxt "@action:inmenu menubar:edit" msgid "&Select All Models" msgstr "&Tüm modelleri Seç" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:253 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Clear Build Plate" msgstr "&Yapı Levhasını Temizle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:263 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:285 msgctxt "@action:inmenu menubar:file" msgid "Re&load All Models" msgstr "Tüm Modelleri Yeniden Yükle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:272 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange All Models" +msgstr "Tüm Modelleri Düzenle" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:302 +msgctxt "@action:inmenu menubar:edit" +msgid "Arrange Selection" +msgstr "Seçimi Düzenle" + +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:309 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Tüm Model Konumlarını Sıfırla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:279 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:316 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model &Transformations" msgstr "Tüm Model ve Dönüşümleri Sıfırla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:323 msgctxt "@action:inmenu menubar:file" -msgid "&Open File..." -msgstr "&Dosyayı Aç..." +msgid "&Open File(s)..." +msgstr "&Dosya Aç..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 msgctxt "@action:inmenu menubar:file" -msgid "&Open Project..." -msgstr "&Proje Aç..." +msgid "&New Project..." +msgstr "&Yeni Proje..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:300 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:338 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Motor Günlüğünü Göster..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:346 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Yapılandırma Klasörünü Göster" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:353 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Görünürlük ayarını yapılandır..." -#: /home/ruben/Projects/Cura/resources/qml/MultiplyObjectOptions.qml:15 -msgctxt "@title:window" -msgid "Multiply Model" -msgstr "Modeli Çoğalt" - #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3d model" @@ -2955,21 +3217,37 @@ msgctxt "@label:PrintjobStatus" msgid "Slicing unavailable" msgstr "Dilimleme kullanılamıyor" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Prepare" msgstr "Hazırla" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:136 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:148 msgctxt "@label:Printjob" msgid "Cancel" msgstr "İptal Et" -#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:276 +#: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:288 msgctxt "@info:tooltip" msgid "Select the active output device" msgstr "Etkin çıkış aygıtını seçin" +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:618 +msgctxt "@title:window" +msgid "Open file(s)" +msgstr "Dosya aç" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:64 +msgctxt "@text:window" +msgid "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?" +msgstr "Seçtiğiniz dosyalar arasında bir veya daha fazla proje dosyası bulduk. Tek seferde sadece bir proje dosyası açabilirsiniz. Sadece bu dosyalarda bulunan modelleri içe aktarmanızı öneririz. Devam etmek istiyor musunuz?" + +#: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:99 +msgctxt "@action:button" +msgid "Import all as models" +msgstr "Tümünü model olarak içe aktar" + #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:19 msgctxt "@title:window" msgid "Cura" @@ -2980,197 +3258,249 @@ msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Dosya" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:86 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:85 msgctxt "@action:inmenu menubar:file" msgid "&Save Selection to File" msgstr "&Seçimi Dosyaya Kaydet" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:94 msgctxt "@title:menu menubar:file" -msgid "Save &All" -msgstr "Tümünü Kaydet" +msgid "Save &As..." +msgstr "&Farklı Kaydet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:114 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:105 msgctxt "@title:menu menubar:file" msgid "Save project" msgstr "Projeyi kaydet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:128 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Düzenle" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:145 msgctxt "@title:menu" msgid "&View" msgstr "&Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:158 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:150 msgctxt "@title:menu" msgid "&Settings" msgstr "&Ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:160 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:152 msgctxt "@title:menu menubar:toplevel" msgid "&Printer" msgstr "&Yazıcı" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:170 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:182 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:162 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu" msgid "&Material" msgstr "&Malzeme" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:171 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:183 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:163 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 msgctxt "@title:menu" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:175 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:167 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Etkin Ekstruder olarak ayarla" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:193 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Uzantılar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:218 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Tercihler" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:226 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Yardım" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:337 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:296 msgctxt "@action:button" msgid "Open File" msgstr "Dosya Aç" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:410 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:369 msgctxt "@action:button" msgid "View Mode" msgstr "Görüntüleme Modu" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:505 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:464 msgctxt "@title:tab" msgid "Settings" msgstr "Ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:724 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:500 msgctxt "@title:window" -msgid "Open file" -msgstr "Dosya aç" +msgid "New project" +msgstr "Yeni proje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:759 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:501 +msgctxt "@info:question" +msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." +msgstr "Yeni bir proje başlatmak istediğinizden emin misiniz? Bu işlem yapı levhasını ve kaydedilmemiş tüm ayarları silecektir." + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:718 msgctxt "@title:window" -msgid "Open workspace" -msgstr "Çalışma alanını aç" +msgid "Open File(s)" +msgstr "Dosya Aç" + +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:721 +msgctxt "@text:window" +msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." +msgstr "Seçtiğiniz dosyalar arasında bir veya daha fazla G-code dosyası bulduk. Tek seferde sadece bir G-code dosyası açabilirsiniz. Bir G-code dosyası açmak istiyorsanız, sadece birini seçiniz." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" msgid "Save Project" msgstr "Projeyi Kaydet" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:134 msgctxt "@action:label" msgid "Extruder %1" msgstr "Ekstruder %1" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:144 msgctxt "@action:label" msgid "%1 & material" msgstr "%1 & malzeme" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:240 msgctxt "@action:label" msgid "Don't show project summary on save again" msgstr "Kaydederken proje özetini bir daha gösterme" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:40 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:41 msgctxt "@label" msgid "Infill" msgstr "Dolgu" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:184 -msgctxt "@label" -msgid "Hollow" -msgstr "Boş" - #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:188 msgctxt "@label" -msgid "No (0%) infill will leave your model hollow at the cost of low strength" -msgstr "Düşük dayanıklılık pahasına hiçbir (%0) dolgu modelinizde boşluk bırakmayacak" +msgid "0%" +msgstr "%0" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:195 msgctxt "@label" -msgid "Light" -msgstr "Hafif" +msgid "Empty infill will leave your model hollow with low strength." +msgstr "Boş dolgu, modelinizin içinin boş ve düşük dayanımlı olmasına neden olacaktır." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:199 msgctxt "@label" -msgid "Light (20%) infill will give your model an average strength" -msgstr "Hafif (%20) dolgu modelinize ortalama bir dayanıklılık getirecek" +msgid "20%" +msgstr "%20" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:200 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:206 msgctxt "@label" -msgid "Dense" -msgstr "Yoğun" +msgid "Light (20%) infill will give your model an average strength." +msgstr "Hafif (%20) dolgu, modelinize ortalama bir dayanıklılık verecektir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:204 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:210 msgctxt "@label" -msgid "Dense (50%) infill will give your model an above average strength" -msgstr "Yoğun (%50) dolgu modelinize ortalamanın üstünde bir dayanıklılık kazandıracak" +msgid "50%" +msgstr "%50" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:208 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:217 msgctxt "@label" -msgid "Solid" -msgstr "Katı" +msgid "Dense (50%) infill will give your model an above average strength." +msgstr "Yoğun (%50) dolgu, modelinize ortalamanın üstünde bir dayanıklılık verecektir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:212 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:221 msgctxt "@label" -msgid "Solid (100%) infill will make your model completely solid" -msgstr "Katı (%100) dolgu modelinizi tamamen katı bir hale getirecek" +msgid "100%" +msgstr "%100" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:228 msgctxt "@label" -msgid "Enable Support" -msgstr "Desteği etkinleştir" +msgid "Solid (100%) infill will make your model completely solid." +msgstr "Katı (%100) dolgu, modelinizi tamamen katı bir hale getirecektir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:266 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:232 msgctxt "@label" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Destek yapılarını etkinleştir. Bu yapılar sert çıkıntıları olan model parçalarını destekler." +msgid "Gradual" +msgstr "Kademeli" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:283 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:240 +msgctxt "@label" +msgid "Gradual infill will gradually increase the amount of infill towards the top." +msgstr "Kademeli dolgu, yukarıya doğru dolgu miktarını kademeli olarak yükselecektir." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:263 +msgctxt "@label" +msgid "Generate Support" +msgstr "Oluşturma Desteği" + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:296 +msgctxt "@label" +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Modellerin askıda kalan kısımlarını destekleyen yapılar oluşturun. Bu yapılar olmadan, yazdırma sırasında söz konusu kısımlar düşebilir." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:313 msgctxt "@label" msgid "Support Extruder" msgstr "Destek Ekstrüderi" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:387 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Destek için kullanacağınız ekstruderi seçin. Bu, modelin havadayken düşmesini veya yazdırılmasını önlemek için modelin altındaki destekleyici yapıları güçlendirir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:382 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:412 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Yapı Levhası Yapıştırması" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:428 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:458 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Bir kenar veya radye yazdırın. Bu nesnenizin etrafına veya altına daha sonra kesilmesi kolay olan düz bir alan sağlayacak." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:481 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:511 msgctxt "@label" -msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" -msgstr "Yazdırmanızı geliştirmek için yardıma mı ihtiyacınız var? Ultimaker Sorun Giderme Kılavuzlarını okuyun" +msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" +msgstr "Yazıcı çıktılarınızı iyileştirmek için yardıma mı ihtiyacınız var?
Ultimaker Sorun Giderme Kılavuzlarını okuyun" + +#: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 +msgctxt "@label" +msgid "Print Selected Model with %1" +msgid_plural "Print Selected Models With %1" +msgstr[0] "Seçili Modeli %1 ile Yazdır" +msgstr[1] "Seçili Modelleri %1 ile Yazdır" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:20 +msgctxt "@title:window" +msgid "Open project file" +msgstr "Proje dosyası aç" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:71 +msgctxt "@text:window" +msgid "This is a Cura project file. Would you like to open it as a project or import the models from it?" +msgstr "Bu bir Cura proje dosyasıdır. Bir proje olarak açmak mı yoksa içindeki modelleri içe aktarmak mı istiyorsunuz?" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:81 +msgctxt "@text:window" +msgid "Remember my choice" +msgstr "Seçimimi hatırla" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:95 +msgctxt "@action:button" +msgid "Open as project" +msgstr "Proje olarak aç" + +#: /home/ruben/Projects/Cura/resources/qml/AskOpenAsProjectOrModelsDialog.qml:114 +msgctxt "@action:button" +msgid "Import models" +msgstr "Modelleri içe aktar" #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:15 msgctxt "@title:window" @@ -3183,12 +3513,17 @@ msgctxt "@label" msgid "Material" msgstr "Malzeme" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:278 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:234 +msgctxt "@tooltip" +msgid "Click to check the material compatibility on Ultimaker.com." +msgstr "Malzemenin uyumluluğunu Ultimaker.com üzerinden kontrol etmek için tıklayın." + +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:321 msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:329 +#: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:372 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3196,6 +3531,130 @@ msgid "" "Click to open the profile manager." msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." +#~ msgctxt "@info:status" +#~ msgid "Unable to start a new print job. No PrinterCore loaded in slot {0}" +#~ msgstr "Yeni bir yazdırma başlatılamıyor. {0} yuvasına PrinterCore yüklenmedi" + +#~ msgctxt "@label" +#~ msgid "Version Upgrade 2.4 to 2.5" +#~ msgstr "2.4’ten 2.5’e Sürüm Yükseltme" + +#~ msgctxt "@info:whatsthis" +#~ msgid "Upgrades configurations from Cura 2.4 to Cura 2.5." +#~ msgstr "Cura 2.4’ten Cura 2.5’e yükseltme yapılandırmaları." + +#~ msgctxt "@info:status" +#~ msgid "Unable to find a quality profile for this combination. Default settings will be used instead." +#~ msgstr "Bu birleşim için uygun bir profil bulunamadı. Bunun yerine varsayılan ayarlar kullanılacak." + +#~ msgctxt "@title:window" +#~ msgid "Oops!" +#~ msgstr "Hay aksi!" + +#~ msgctxt "@label" +#~ msgid "" +#~ "

A fatal exception has occurred that we could not recover from!

\n" +#~ "

We hope this picture of a kitten helps you recover from the shock.

\n" +#~ "

Please use the information below to post a bug report at http://github.com/Ultimaker/Cura/issues

\n" +#~ " " +#~ msgstr "" +#~ "

Düzeltemediğimiz önemli bir özel durum oluştu!

\n" +#~ "

Umarız bu yavru kedi resmi şoku atlatmanıza yardımcı olur.

\n" +#~ "

Bir hata raporu göndermek için aşağıdaki bilgileri kullanın: http://github.com/Ultimaker/Cura/issues

\n" +#~ " " + +#~ msgctxt "@label" +#~ msgid "Please enter the correct settings for your printer below:" +#~ msgstr "Lütfen aşağıdaki yazıcınız için doğru ayarları girin:" + +#~ msgctxt "@label" +#~ msgid "Extruder %1" +#~ msgstr "Ekstruder %1" + +#~ msgctxt "@label Followed by extruder selection drop-down." +#~ msgid "Print model with" +#~ msgstr "........... İle modeli yazdır" + +#~ msgctxt "@label" +#~ msgid "You will need to restart the application for language changes to have effect." +#~ msgstr "Dil değişikliklerinin tamamlanması için uygulamayı yeniden başlatmanız gerekecektir." + +#~ msgctxt "@info:tooltip" +#~ msgid "Moves the camera so the model is in the center of the view when an model is selected" +#~ msgstr "Kamerayı hareket ettirir, bu şekilde model seçimi yapıldığında model görüntünün ortasında bulunur" + +#~ msgctxt "@action:inmenu menubar:edit" +#~ msgid "Delete &Selection" +#~ msgstr "Seçimi Sil" + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open File..." +#~ msgstr "&Dosyayı Aç..." + +#~ msgctxt "@action:inmenu menubar:file" +#~ msgid "&Open Project..." +#~ msgstr "&Proje Aç..." + +#~ msgctxt "@title:window" +#~ msgid "Multiply Model" +#~ msgstr "Modeli Çoğalt" + +#~ msgctxt "@title:menu menubar:file" +#~ msgid "Save &All" +#~ msgstr "Tümünü Kaydet" + +#~ msgctxt "@title:window" +#~ msgid "Open file" +#~ msgstr "Dosya aç" + +#~ msgctxt "@title:window" +#~ msgid "Open workspace" +#~ msgstr "Çalışma alanını aç" + +#~ msgctxt "@label" +#~ msgid "Hollow" +#~ msgstr "Boş" + +#~ msgctxt "@label" +#~ msgid "No (0%) infill will leave your model hollow at the cost of low strength" +#~ msgstr "Düşük dayanıklılık pahasına hiçbir (%0) dolgu modelinizde boşluk bırakmayacak" + +#~ msgctxt "@label" +#~ msgid "Light" +#~ msgstr "Hafif" + +#~ msgctxt "@label" +#~ msgid "Light (20%) infill will give your model an average strength" +#~ msgstr "Hafif (%20) dolgu modelinize ortalama bir dayanıklılık getirecek" + +#~ msgctxt "@label" +#~ msgid "Dense" +#~ msgstr "Yoğun" + +#~ msgctxt "@label" +#~ msgid "Dense (50%) infill will give your model an above average strength" +#~ msgstr "Yoğun (%50) dolgu modelinize ortalamanın üstünde bir dayanıklılık kazandıracak" + +#~ msgctxt "@label" +#~ msgid "Solid" +#~ msgstr "Katı" + +#~ msgctxt "@label" +#~ msgid "Solid (100%) infill will make your model completely solid" +#~ msgstr "Katı (%100) dolgu modelinizi tamamen katı bir hale getirecek" + +#~ msgctxt "@label" +#~ msgid "Enable Support" +#~ msgstr "Desteği etkinleştir" + +#~ msgctxt "@label" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Destek yapılarını etkinleştir. Bu yapılar sert çıkıntıları olan model parçalarını destekler." + +#~ msgctxt "@label" +#~ msgid "Need help improving your prints? Read the Ultimaker Troubleshooting Guides" +#~ msgstr "Yazdırmanızı geliştirmek için yardıma mı ihtiyacınız var? Ultimaker Sorun Giderme Kılavuzlarını okuyun" + #~ msgctxt "@info:status" #~ msgid "Connected over the network to {0}. Please approve the access request on the printer." #~ msgstr "Ağ üzerinden şuraya bağlandı: {0}. Lütfen yazıcıya erişim isteğini onaylayın." diff --git a/resources/i18n/tr/fdmextruder.def.json.po b/resources/i18n/tr/fdmextruder.def.json.po index 3b525a33cf..833cb2cf85 100644 --- a/resources/i18n/tr/fdmextruder.def.json.po +++ b/resources/i18n/tr/fdmextruder.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: tr\n" +"Language-Team: Turkish\n" +"Language: Turkish\n" +"Lang-Code: tr\n" +"Country-Code: TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -37,6 +38,16 @@ msgctxt "extruder_nr description" msgid "The extruder train used for printing. This is used in multi-extrusion." msgstr "Yazdırma için kullanılan ekstruder dişli çark. Çoklu ekstrüzyon işlemi için kullanılır." +#: fdmextruder.def.json +msgctxt "machine_nozzle_size label" +msgid "Nozzle Diameter" +msgstr "Nozül Çapı" + +#: fdmextruder.def.json +msgctxt "machine_nozzle_size description" +msgid "The inner diameter of the nozzle. Change this setting when using a non-standard nozzle size." +msgstr "Nozülün iç çapı. Standart olmayan boyutta bir nozül kullanırken bu ayarı değiştirin." + #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x label" msgid "Nozzle X Offset" diff --git a/resources/i18n/tr/fdmprinter.def.json.po b/resources/i18n/tr/fdmprinter.def.json.po index 1d89799c1e..163e3ff2f0 100644 --- a/resources/i18n/tr/fdmprinter.def.json.po +++ b/resources/i18n/tr/fdmprinter.def.json.po @@ -2,17 +2,18 @@ # Copyright (C) 2017 Ultimaker # This file is distributed under the same license as the Cura package. # Ruben Dulek , 2017. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: Cura 2.5\n" -"Report-Msgid-Bugs-To: http://github.com/Ultimaker/Cura\n" -"POT-Creation-Date: 2017-03-27 17:27+0000\n" -"PO-Revision-Date: 2017-04-04 11:27+0200\n" +"Project-Id-Version: Cura 2.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2017-05-30 15:32+0000\n" +"PO-Revision-Date: 2017-06-07 16:04+0200\n" "Last-Translator: Bothof \n" -"Language-Team: Bothof \n" -"Language: tr\n" +"Language-Team: Turkish\n" +"Language: Turkish\n" +"Lang-Code: tr\n" +"Country-Code: TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -678,8 +679,28 @@ msgstr "Destek Arayüz Hattı Genişliği" #: fdmprinter.def.json msgctxt "support_interface_line_width description" -msgid "Width of a single support interface line." -msgstr "Tek bir destek arayüz hattının genişliği." +msgid "Width of a single line of support roof or floor." +msgstr "Destek çatısı veya zemininin tek çizgi genişliği." + +#: fdmprinter.def.json +msgctxt "support_roof_line_width label" +msgid "Support Roof Line Width" +msgstr "Destek Çatısı Çizgi Genişliği" + +#: fdmprinter.def.json +msgctxt "support_roof_line_width description" +msgid "Width of a single support roof line." +msgstr "Tek bir destek çatısının çizgi genişliği." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width label" +msgid "Support Floor Line Width" +msgstr "Destek Zemini Çizgi Genişliği" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_width description" +msgid "Width of a single support floor line." +msgstr "Tek bir destek zemininin çizgi genişliği." #: fdmprinter.def.json msgctxt "prime_tower_line_width label" @@ -1082,14 +1103,54 @@ msgid "A list of integer line directions to use. Elements from the list are used msgstr "Kullanılacak tam sayı hat yönü listesi. Listedeki öğeler, katmanlar ilerledikçe sıralı olarak kullanılır. Listenin sonuna ulaşıldığında baştan başlanır. Liste öğeleri virgülle ayrılır ve tüm liste köşeli parantez içine alınır. Varsayılan ayar boş listedir ve geleneksel varsayılan açılar kullanılır (çizgiler ve zikzak şekiller için 45 ve 135 derece; diğer tüm şekiller için 45 derece)." #: fdmprinter.def.json -msgctxt "sub_div_rad_mult label" -msgid "Cubic Subdivision Radius" -msgstr "Kübik Alt Bölüm Yarıçapı" +msgctxt "spaghetti_infill_enabled label" +msgid "Spaghetti Infill" +msgstr "Spagetti Dolgu" #: fdmprinter.def.json -msgctxt "sub_div_rad_mult description" -msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." -msgstr "Bu küpün bölünüp bölünmemesine karar vermek için modelin sınırını kontrol eden ve her bir küpün merkezinden alınan yarıçaptaki çarpan. Büyük değerler, daha küçük küpler gibi daha fazla alt bölüm oluşmasına neden olur." +msgctxt "spaghetti_infill_enabled description" +msgid "Print the infill every so often, so that the filament will curl up chaotically inside the object. This reduces print time, but the behaviour is rather unpredictable." +msgstr "Filamanın nesnenin içinde düzensiz bir şekilde yukarı doğru kıvrılması için dolguyu arada sırada yazdırın. Böylece yazdırma süresi azalır, ancak davranış önceden kestirilemez." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle label" +msgid "Spaghetti Maximum Infill Angle" +msgstr "Spagetti Maksimum Dolgu Açısı" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_infill_angle description" +msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." +msgstr "Daha sonradan spagetti dolgu uygulanacak alanlar için yazdırmanın içindeki Z ekseninin maksimum açısı. Bu değerin düşürülmesi, modelinize yapılan her bir dolgu katmanında daha fazla açılı kısımlara neden olur." + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height label" +msgid "Spaghetti Infill Maximum Height" +msgstr "Spagetti Dolgu Maksimum Yüksekliği" + +#: fdmprinter.def.json +msgctxt "spaghetti_max_height description" +msgid "The maximum height of inside space which can be combined and filled from the top." +msgstr "Birleştirilebilecek ve üstten dolgu yapılabilecek iç alanın maksimum yüksekliği." + +#: fdmprinter.def.json +msgctxt "spaghetti_inset label" +msgid "Spaghetti Inset" +msgstr "Spagetti İç Dolgusu" + +#: fdmprinter.def.json +msgctxt "spaghetti_inset description" +msgid "The offset from the walls from where the spaghetti infill will be printed." +msgstr "Spagetti dolgunun yazdırılacağı yerin duvarlardan ofset değeri." + +#: fdmprinter.def.json +msgctxt "spaghetti_flow label" +msgid "Spaghetti Flow" +msgstr "Spagetti Debisi" + +#: fdmprinter.def.json +msgctxt "spaghetti_flow description" +msgid "Adjusts the density of the spaghetti infill. Note that the Infill Density only controls the line spacing of the filling pattern, not the amount of extrusion for spaghetti infill." +msgstr "Spagetti dolgusunun yoğunluğunu ayarlar. Dolgu yoğunluğunun spagetti dolgu için ekstrüzyon miktarını değil, sadece dolgu deseni çizgi boşluğunu kontrol ettiğini unutmayın." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1213,23 +1274,23 @@ msgstr "Düz zeminlerin üst ve/veya alt yüzeylerinin yüzey alanlarını geni #: fdmprinter.def.json msgctxt "expand_upper_skins label" -msgid "Expand Upper Skins" -msgstr "Üst Yüzeyleri Genişlet" +msgid "Expand Top Skins Into Infill" +msgstr "Üst Yüzey Alanını Dolguya Genişlet" #: fdmprinter.def.json msgctxt "expand_upper_skins description" -msgid "Expand upper skin areas (areas with air above) so that they support infill above." -msgstr "Üst yüzey alanlarını (üzerinde hava bulunan alanları), üstteki dolguyu destekleyecek şekilde genişletin." +msgid "Expand the top skin areas (areas with air above) so that they support infill above." +msgstr "Dolguyu yukarıdan desteklemeleri için üst yüzey alanlarını (üzerinde hava bulunan alanları) genişletin." #: fdmprinter.def.json msgctxt "expand_lower_skins label" -msgid "Expand Lower Skins" -msgstr "Alt Yüzeyleri Genişlet" +msgid "Expand Bottom Skins Into Infill" +msgstr "Alt Yüzey Alanını Dolguya Genişlet" #: fdmprinter.def.json msgctxt "expand_lower_skins description" -msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." -msgstr "Alt yüzey alanlarını (altında hava bulunan alanları), üstteki ve alttaki dolgu katmanlarıyla sabitlenecek şekilde genişletin." +msgid "Expand the bottom skin areas (areas with air below) so that they are anchored by the infill layers above and below." +msgstr "Dolgu katmanlarını yukarıdan ve aşağıdan desteklemeleri için alt yüzey alanlarını (altında hava bulunan alanları) genişletin." #: fdmprinter.def.json msgctxt "expand_skins_expand_distance label" @@ -1638,8 +1699,28 @@ msgstr "Destek Arayüzü Hızı" #: fdmprinter.def.json msgctxt "speed_support_interface description" -msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." -msgstr "Destek tavan ve tabanının yazdırıldığı hız. Bunları daha düşük hızda yazdırmak çıkıntı kalitesini artırabilir." +msgid "The speed at which the roofs and floors of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Destek çatıları ve zeminlerinin yazdırılma hızı. Daha düşük hızlarda yazdırma, askıda kalan kısımların kalitesini iyileştirebilir." + +#: fdmprinter.def.json +msgctxt "speed_support_roof label" +msgid "Support Roof Speed" +msgstr "Destek Çatısı Hızı" + +#: fdmprinter.def.json +msgctxt "speed_support_roof description" +msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." +msgstr "Destek çatısının yazdırılma hızı. Daha düşük hızlarda yazdırma, askıda kalan kısımların kalitesini iyileştirebilir." + +#: fdmprinter.def.json +msgctxt "speed_support_bottom label" +msgid "Support Floor Speed" +msgstr "Destek Zemini Hızı" + +#: fdmprinter.def.json +msgctxt "speed_support_bottom description" +msgid "The speed at which the floor of support is printed. Printing it at lower speed can improve adhesion of support on top of your model." +msgstr "Destek zemininin yazdırılma hızı. Daha düşük hızlarda yazdırma, desteğin modelin üzerine yapışmasını iyileştirebilir." #: fdmprinter.def.json msgctxt "speed_prime_tower label" @@ -1838,8 +1919,28 @@ msgstr "Destek Arayüzü İvmesi" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" -msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." -msgstr "Destek tavanı ve tabanının yazdırıldığı ivme. Bunları daha düşük ivmelerde yazdırmak çıkıntı kalitesini artırabilir." +msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Destek çatıları ve zeminlerinin yazdırıldığı ivme. Daha düşük ivmelerle yazdırma, askıda kalan kısımların kalitesini iyileştirebilir." + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof label" +msgid "Support Roof Acceleration" +msgstr "Destek Çatısı İvmesi" + +#: fdmprinter.def.json +msgctxt "acceleration_support_roof description" +msgid "The acceleration with which the roofs of support are printed. Printing them at lower acceleration can improve overhang quality." +msgstr "Destek çatısının yazdırıldığı ivme. Daha düşük ivmelerle yazdırma, askıda kalan kısımların kalitesini iyileştirebilir." + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom label" +msgid "Support Floor Acceleration" +msgstr "Destek Zemini İvmesi" + +#: fdmprinter.def.json +msgctxt "acceleration_support_bottom description" +msgid "The acceleration with which the floors of support are printed. Printing them at lower acceleration can improve adhesion of support on top of your model." +msgstr "Destek zemininin yazdırıldığı ivme. Daha düşük ivmelerle yazdırma, desteğin modelin üzerine yapışmasını iyileştirebilir." #: fdmprinter.def.json msgctxt "acceleration_prime_tower label" @@ -1998,8 +2099,28 @@ msgstr "Destek Arayüz Salınımı" #: fdmprinter.def.json msgctxt "jerk_support_interface description" -msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." -msgstr "Desteğin tavan ve tabanlarının yazdırıldığı maksimum anlık hız değişimi." +msgid "The maximum instantaneous velocity change with which the roofs and floors of support are printed." +msgstr "Desteğin çatıları ve zeminlerinin yazdırıldığı maksimum anlık hız değişimi." + +#: fdmprinter.def.json +msgctxt "jerk_support_roof label" +msgid "Support Roof Jerk" +msgstr "Destek Çatısı Sarsıntısı" + +#: fdmprinter.def.json +msgctxt "jerk_support_roof description" +msgid "The maximum instantaneous velocity change with which the roofs of support are printed." +msgstr "Desteğin çatılarının yazdırıldığı maksimum anlık hız değişimi." + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom label" +msgid "Support Floor Jerk" +msgstr "Destek Zemini Sarsıntısı" + +#: fdmprinter.def.json +msgctxt "jerk_support_bottom description" +msgid "The maximum instantaneous velocity change with which the floors of support are printed." +msgstr "Desteğin zeminlerinin yazdırıldığı maksimum anlık hız değişimi." #: fdmprinter.def.json msgctxt "jerk_prime_tower label" @@ -2328,13 +2449,13 @@ msgstr "Destek" #: fdmprinter.def.json msgctxt "support_enable label" -msgid "Enable Support" -msgstr "Desteği etkinleştir" +msgid "Generate Support" +msgstr "Oluşturma Desteği" #: fdmprinter.def.json msgctxt "support_enable description" -msgid "Enable support structures. These structures support parts of the model with severe overhangs." -msgstr "Destek yapılarını etkinleştir. Bu yapılar sert çıkıntıları olan model parçalarını destekler." +msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." +msgstr "Modellerin askıda kalan kısımlarını destekleyen yapılar oluşturun. Bu yapılar olmadan, yazdırma sırasında söz konusu kısımlar düşebilir." #: fdmprinter.def.json msgctxt "support_extruder_nr label" @@ -2373,8 +2494,28 @@ msgstr "Destek Arayüz Ekstruderi" #: fdmprinter.def.json msgctxt "support_interface_extruder_nr description" -msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." -msgstr "Destek dolgusunun tavan ve tabanları için kullanılacak ekstruder Çoklu ekstrüzyon işlemi için kullanılır." +msgid "The extruder train to use for printing the roofs and floors of the support. This is used in multi-extrusion." +msgstr "Desteğin çatıları ve zeminlerinin yazdırılması için kullanılacak ekstrüder dizisi. Çoklu ekstrüzyon sırasında kullanılır." + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr label" +msgid "Support Roof Extruder" +msgstr "Destek Çatısı Ekstrüderi" + +#: fdmprinter.def.json +msgctxt "support_roof_extruder_nr description" +msgid "The extruder train to use for printing the roofs of the support. This is used in multi-extrusion." +msgstr "Desteğin çatısının yazdırılması için kullanılacak ekstrüder dizisi. Çoklu ekstrüzyon sırasında kullanılır." + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr label" +msgid "Support Floor Extruder" +msgstr "Destek Zemini Ekstrüderi" + +#: fdmprinter.def.json +msgctxt "support_bottom_extruder_nr description" +msgid "The extruder train to use for printing the floors of the support. This is used in multi-extrusion." +msgstr "Desteğin zemininin yazdırılması için kullanılacak ekstrüder dizisi. Çoklu ekstrüzyon sırasında kullanılır." #: fdmprinter.def.json msgctxt "support_type label" @@ -2553,8 +2694,18 @@ msgstr "Destek Merdiveni Basamak Yüksekliği" #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height description" -msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." -msgstr "Model üzerindeki desteğin merdivene benzeyen alt kısmındaki basamakların yüksekliği. Düşük bir değer desteğin çıkarılmasını zorlaştırırken yüksek değerler destek yapılarının sağlam olmamasına neden olabilir." +msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures. Set to zero to turn off the stair-like behaviour." +msgstr "Modelin üzerinde sabit duran desteğin merdiven benzeri alt kısmının basamak yüksekliği. Daha düşük bir değer desteğin hareket ettirilmesini zorlaştırırken, daha yüksek bir değer kararsız destek yapılarına yol açabilir. Merdiven benzeri davranışı kapatmak için sıfır değerine ayarlayın." + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width label" +msgid "Support Stair Step Maximum Width" +msgstr "Destek Merdiveni Maksimum Basamak Genişliği" + +#: fdmprinter.def.json +msgctxt "support_bottom_stair_step_width description" +msgid "The maximum width of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +msgstr "Modelin üzerinde sabit duran desteğin merdiven benzeri alt kısmının maksimum basamak genişliği. Daha düşük bir değer desteğin hareket ettirilmesini zorlaştırırken, daha yüksek bir değer kararsız destek yapılarına yol açabilir." #: fdmprinter.def.json msgctxt "support_join_distance label" @@ -2586,6 +2737,26 @@ msgctxt "support_interface_enable description" msgid "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model." msgstr "Model ve destek arasında yoğun bir arayüz oluştur. Modelin yazdırıldığı desteğin üstünde ve modelin üzerinde durduğu desteğin altında bir yüzey oluşturur." +#: fdmprinter.def.json +msgctxt "support_roof_enable label" +msgid "Enable Support Roof" +msgstr "Destek Çatısını Etkinleştir" + +#: fdmprinter.def.json +msgctxt "support_roof_enable description" +msgid "Generate a dense slab of material between the top of support and the model. This will create a skin between the model and support." +msgstr "Desteğin üst kısmı ile model arasında yoğun bir levha oluşturur. Bu işlem, model ile destek arasında bir yüzey alanı oluşturacaktır." + +#: fdmprinter.def.json +msgctxt "support_bottom_enable label" +msgid "Enable Support Floor" +msgstr "Destek Zeminini Etkinleştir" + +#: fdmprinter.def.json +msgctxt "support_bottom_enable description" +msgid "Generate a dense slab of material between the bottom of the support and the model. This will create a skin between the model and support." +msgstr "Desteğin alt kısmı ile model arasında yoğun bir levha oluşturur. Bu işlem, model ile destek arasında bir yüzey alanı oluşturacaktır." + #: fdmprinter.def.json msgctxt "support_interface_height label" msgid "Support Interface Thickness" @@ -2608,13 +2779,13 @@ msgstr "Destek tavanlarının kalınlığı. Modelin bulunduğu desteğin üst k #: fdmprinter.def.json msgctxt "support_bottom_height label" -msgid "Support Bottom Thickness" -msgstr "Destek Taban Kalınlığı" +msgid "Support Floor Thickness" +msgstr "Destek Zemini Kalınlığı" #: fdmprinter.def.json msgctxt "support_bottom_height description" -msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." -msgstr "Destek tabanlarının kalınlığı. Desteğin bulunduğu modelin üst kısımlarına yazdırılan yoğun katmanların sayısını kontrol eder." +msgid "The thickness of the support floors. This controls the number of dense layers that are printed on top of places of a model on which support rests." +msgstr "Destek zeminlerinin kalınlığı. Desteğin üzerinde durduğu modelin üst kısımlarına yazdırılan yoğun katmanların sayısını kontrol eder." #: fdmprinter.def.json msgctxt "support_interface_skip_height label" @@ -2623,8 +2794,8 @@ msgstr "Destek Arayüz Çözünürlüğü" #: fdmprinter.def.json msgctxt "support_interface_skip_height description" -msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." -msgstr "Destek üzerinde modelin olduğu yeri kontrol ederken belirtilen yükselin adımlarını izleyin. Daha yüksek değerler, destek arayüzü olması gereken yerlerde yazdırılacak normal destek oluştururken daha düşük değerler daha yavaş dilimler." +msgid "When checking where there's model above and below the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +msgstr "Desteğin üstünde ve altında model bulunduğunda, kontrol sırasında verilen yükseklikte adımlar uygulayın. Daha yüksek değerler, destek arayüzü olması gereken yerlerde yazdırılacak normal destek oluştururken daha düşük değerler daha yavaş dilimler." #: fdmprinter.def.json msgctxt "support_interface_density label" @@ -2633,18 +2804,48 @@ msgstr "Destek Arayüzü Yoğunluğu" #: fdmprinter.def.json msgctxt "support_interface_density description" -msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "Destek yapısının tavan ve tabanlarının yoğunluğunu ayarlar. Daha yüksek bir değer daha iyi çıkıntılar ortaya çıkarırken desteklerin kaldırılmasını zorlaştırır." +msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Destek yapısının çatılarının ve zeminlerinin yoğunluğunu ayarlar. Daha yüksek bir değer daha iyi çıkıntılar ortaya çıkarırken, desteklerin kaldırılmasını zorlaştırır." #: fdmprinter.def.json -msgctxt "support_interface_line_distance label" -msgid "Support Interface Line Distance" -msgstr "Destek Arayüz Hattı Mesafesi" +msgctxt "support_roof_density label" +msgid "Support Roof Density" +msgstr "Destek Çatısı Yoğunluğu" #: fdmprinter.def.json -msgctxt "support_interface_line_distance description" -msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." -msgstr "Yazdırılan destek arayüz hatları arasındaki mesafe. Bu ayar, Destek Arayüz Yoğunluğu ile hesaplanır ama ayrı ayrı ayarlanabilir." +msgctxt "support_roof_density description" +msgid "The density of the roofs of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +msgstr "Destek yapısı çatılarının yoğunluğu. Daha yüksek bir değer daha iyi çıkıntılar ortaya çıkarırken, desteklerin kaldırılmasını zorlaştırır." + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance label" +msgid "Support Roof Line Distance" +msgstr "Destek Çatısı Çizgi Mesafesi" + +#: fdmprinter.def.json +msgctxt "support_roof_line_distance description" +msgid "Distance between the printed support roof lines. This setting is calculated by the Support Roof Density, but can be adjusted separately." +msgstr "Yazdırılan destek çatısı çizgileri arasındaki mesafe. Bu ayar Destek Çatısı Yoğunluğu ile hesaplanır, ancak ayrıca ayarlanabilir." + +#: fdmprinter.def.json +msgctxt "support_bottom_density label" +msgid "Support Floor Density" +msgstr "Destek Zemini Yoğunluğu" + +#: fdmprinter.def.json +msgctxt "support_bottom_density description" +msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." +msgstr "Destek yapısı zeminlerinin yoğunluğu. Daha yüksek bir değer, desteğin modelin üzerine daha iyi yapışmasını sağlar." + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance label" +msgid "Support Floor Line Distance" +msgstr "Destek Zemini Çizgi Mesafesi" + +#: fdmprinter.def.json +msgctxt "support_bottom_line_distance description" +msgid "Distance between the printed support floor lines. This setting is calculated by the Support Floor Density, but can be adjusted separately." +msgstr "Yazdırılan destek zemini çizgileri arasındaki mesafe. Bu ayar Destek Zemini Yoğunluğu ile hesaplanır, ancak ayrıca ayarlanabilir." #: fdmprinter.def.json msgctxt "support_interface_pattern label" @@ -2686,6 +2887,86 @@ msgctxt "support_interface_pattern option zigzag" msgid "Zig Zag" msgstr "Zik Zak" +#: fdmprinter.def.json +msgctxt "support_roof_pattern label" +msgid "Support Roof Pattern" +msgstr "Destek Çatısı Deseni" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern description" +msgid "The pattern with which the roofs of the support are printed." +msgstr "Destek çatısının yazdırıldığı desen." + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option lines" +msgid "Lines" +msgstr "Çizgiler" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option grid" +msgid "Grid" +msgstr "Izgara" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option triangles" +msgid "Triangles" +msgstr "Üçgenler" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric" +msgid "Concentric" +msgstr "Eş Merkezli" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Eş Merkezli 3D" + +#: fdmprinter.def.json +msgctxt "support_roof_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zikzak" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern label" +msgid "Support Floor Pattern" +msgstr "Destek Zemini Deseni" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern description" +msgid "The pattern with which the floors of the support are printed." +msgstr "Destek zeminlerinin yazdırıldığı desen." + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option lines" +msgid "Lines" +msgstr "Çizgiler" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option grid" +msgid "Grid" +msgstr "Izgara" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option triangles" +msgid "Triangles" +msgstr "Üçgenler" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric" +msgid "Concentric" +msgstr "Eş Merkezli" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option concentric_3d" +msgid "Concentric 3D" +msgstr "Eş Merkezli 3D" + +#: fdmprinter.def.json +msgctxt "support_bottom_pattern option zigzag" +msgid "Zig Zag" +msgstr "Zikzak" + #: fdmprinter.def.json msgctxt "support_use_towers label" msgid "Use Towers" @@ -2736,6 +3017,16 @@ msgctxt "platform_adhesion description" msgid "Adhesion" msgstr "Yapıştırma" +#: fdmprinter.def.json +msgctxt "prime_blob_enable label" +msgid "Enable Prime Blob" +msgstr "İlk Damlayı Etkinleştir" + +#: fdmprinter.def.json +msgctxt "prime_blob_enable description" +msgid "Whether to prime the filament with a blob before printing. Turning this setting on will ensure that the extruder will have material ready at the nozzle before printing. Printing Brim or Skirt can act like priming too, in which case turning this setting off saves some time." +msgstr "Yazdırma öncesinde bir damla ile filamanın astarlanıp astarlanmayacağı. Bu ayar açık olarak ayarlandığında, yazdırma öncesinde ekstrüder nozülünde malzeme hazır olacaktır. Kenar veya Etek Yazdırma da astarlama etkisi yapabilir; bu durumda bu ayarın kapatılmasıyla biraz zaman kazanılabilir." + #: fdmprinter.def.json msgctxt "extruder_prime_pos_x label" msgid "Extruder Prime X Position" @@ -3408,6 +3699,56 @@ msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." msgstr "Hangi dolgu birleşiminin diğer dolgu birleşiminin içinde olacağını belirler. Yüksek düzeyli bir dolgu birleşimi, dolgu birleşimlerinin dolgusunu daha düşük düzey ve normal birleşimler ile düzeltir." +#: fdmprinter.def.json +msgctxt "cutting_mesh label" +msgid "Cutting Mesh" +msgstr "Kesme Örgüsü" + +#: fdmprinter.def.json +msgctxt "cutting_mesh description" +msgid "Limit the volume of this mesh to within other meshes. You can use this to make certain areas of one mesh print with different settings and with a whole different extruder." +msgstr "Bu örgünün hacmini diğer örgülere göre sınırlandırın. Bir örgünün belirli alanlarını farklı ayarlarla ve tamamen farklı bir ekstrüder ile yazdırmak için bunu kullanabilirsiniz." + +#: fdmprinter.def.json +msgctxt "mold_enabled label" +msgid "Mold" +msgstr "Kalıp" + +#: fdmprinter.def.json +msgctxt "mold_enabled description" +msgid "Print models as a mold, which can be cast in order to get a model which resembles the models on the build plate." +msgstr "Yapı levhası üzerinde modelleri toplayan bir model elde etmek amacıyla döküm olabilecek modelleri kalıp olarak yazdırır." + +#: fdmprinter.def.json +msgctxt "mold_width label" +msgid "Minimal Mold Width" +msgstr "Minimum Kalıp Genişliği" + +#: fdmprinter.def.json +msgctxt "mold_width description" +msgid "The minimal distance between the ouside of the mold and the outside of the model." +msgstr "Kalıbın dış tarafı ile modelin dış tarafı arasındaki minimum mesafe." + +#: fdmprinter.def.json +msgctxt "mold_roof_height label" +msgid "Mold Roof Height" +msgstr "Kalıp Çatı Yüksekliği" + +#: fdmprinter.def.json +msgctxt "mold_roof_height description" +msgid "The height above horizontal parts in your model which to print mold." +msgstr "Kalıp yazdıracak modelinizin yatay kısımlarının üzerindeki yükseklik." + +#: fdmprinter.def.json +msgctxt "mold_angle label" +msgid "Mold Angle" +msgstr "Kalıp Açısı" + +#: fdmprinter.def.json +msgctxt "mold_angle description" +msgid "The angle of overhang of the outer walls created for the mold. 0° will make the outer shell of the mold vertical, while 90° will make the outside of the model follow the contour of the model." +msgstr "Kalıp için oluşturulan dış duvarların çıkıntı açısı. 0° kalıbın dış kovanını dikey hale getirirken, 90° ise modelin dış kısmının model konturunu takip etmesini sağlayacaktır." + #: fdmprinter.def.json msgctxt "support_mesh label" msgid "Support Mesh" @@ -3418,6 +3759,16 @@ msgctxt "support_mesh description" msgid "Use this mesh to specify support areas. This can be used to generate support structure." msgstr "Destek alanlarını belirlemek için bu örgüyü kullanın. Bu örgü, destek yapısını oluşturmak için kullanılabilir." +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down label" +msgid "Drop Down Support Mesh" +msgstr "Alçalan Destek Örgüsü" + +#: fdmprinter.def.json +msgctxt "support_mesh_drop_down description" +msgid "Make support everywhere below the support mesh, so that there's no overhang in the support mesh." +msgstr "Destek örgüsünde askıda kalan herhangi bir kısım olmaması için destek örgüsünün altındaki her yere destek yapın." + #: fdmprinter.def.json msgctxt "anti_overhang_mesh label" msgid "Anti Overhang Mesh" @@ -3460,8 +3811,18 @@ msgstr "Spiral Dış Çevre" #: fdmprinter.def.json msgctxt "magic_spiralize description" -msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." -msgstr "Dış kenarın Z hareketini pürüzsüzleştirir. Bu şekilde yazdırma boyunca sabit bir Z artışı oluşur. Bu özellik, katı bir modeli katı bir tabanı olan tek duvarlı bir modele dönüştürür. Özellik, diğer sürümlerde Joris olarak adlandırılmıştır." +msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature should only be enabled when each layer only contains a single part." +msgstr "Dış kenarın Z hareketini helezon şeklinde düzeltir. Böylece yazdırmanın tamamında sabit bir Z artışı oluşur. Bu özellik katı bir modeli, tabanı katı tek bir duvar yazdırmasına dönüştürür. Bu özelliğin sadece tek bir parça içeren tüm tabakalarda etkinleştirilmesi gerekir." + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours label" +msgid "Smooth Spiralized Contours" +msgstr "Helezon Şeklinde Düzeltme" + +#: fdmprinter.def.json +msgctxt "smooth_spiralized_contours description" +msgid "Smooth the spiralized contours to reduce the visibility of the Z seam (the Z-seam should be barely visible on the print but will still be visible in the layer view). Note that smoothing will tend to blur fine surface details." +msgstr "Z dikişinin görünürlüğünü azaltmak için helezon şeklinde konturları düzeltin (Z-dikişi yazdırma durumunda çok az görünür olmalı, ancak tabaka görünümünde halen görünür olmalıdır). Düzeltme işleminin ince yüzey detaylarında bulanıklığa neden olabileceğini unutmayınız." #: fdmprinter.def.json msgctxt "experimental label" @@ -4000,6 +4361,90 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Modeli dosyadan indirirken modele uygulanacak olan dönüşüm matrisi" +#~ msgctxt "support_interface_line_width description" +#~ msgid "Width of a single support interface line." +#~ msgstr "Tek bir destek arayüz hattının genişliği." + +#~ msgctxt "sub_div_rad_mult label" +#~ msgid "Cubic Subdivision Radius" +#~ msgstr "Kübik Alt Bölüm Yarıçapı" + +#~ msgctxt "sub_div_rad_mult description" +#~ msgid "A multiplier on the radius from the center of each cube to check for the boundary of the model, as to decide whether this cube should be subdivided. Larger values lead to more subdivisions, i.e. more small cubes." +#~ msgstr "Bu küpün bölünüp bölünmemesine karar vermek için modelin sınırını kontrol eden ve her bir küpün merkezinden alınan yarıçaptaki çarpan. Büyük değerler, daha küçük küpler gibi daha fazla alt bölüm oluşmasına neden olur." + +#~ msgctxt "expand_upper_skins label" +#~ msgid "Expand Upper Skins" +#~ msgstr "Üst Yüzeyleri Genişlet" + +#~ msgctxt "expand_upper_skins description" +#~ msgid "Expand upper skin areas (areas with air above) so that they support infill above." +#~ msgstr "Üst yüzey alanlarını (üzerinde hava bulunan alanları), üstteki dolguyu destekleyecek şekilde genişletin." + +#~ msgctxt "expand_lower_skins label" +#~ msgid "Expand Lower Skins" +#~ msgstr "Alt Yüzeyleri Genişlet" + +#~ msgctxt "expand_lower_skins description" +#~ msgid "Expand lower skin areas (areas with air below) so that they are anchored by the infill layers above and below." +#~ msgstr "Alt yüzey alanlarını (altında hava bulunan alanları), üstteki ve alttaki dolgu katmanlarıyla sabitlenecek şekilde genişletin." + +#~ msgctxt "speed_support_interface description" +#~ msgid "The speed at which the roofs and bottoms of support are printed. Printing the them at lower speeds can improve overhang quality." +#~ msgstr "Destek tavan ve tabanının yazdırıldığı hız. Bunları daha düşük hızda yazdırmak çıkıntı kalitesini artırabilir." + +#~ msgctxt "acceleration_support_interface description" +#~ msgid "The acceleration with which the roofs and bottoms of support are printed. Printing them at lower accelerations can improve overhang quality." +#~ msgstr "Destek tavanı ve tabanının yazdırıldığı ivme. Bunları daha düşük ivmelerde yazdırmak çıkıntı kalitesini artırabilir." + +#~ msgctxt "jerk_support_interface description" +#~ msgid "The maximum instantaneous velocity change with which the roofs and bottoms of support are printed." +#~ msgstr "Desteğin tavan ve tabanlarının yazdırıldığı maksimum anlık hız değişimi." + +#~ msgctxt "support_enable label" +#~ msgid "Enable Support" +#~ msgstr "Desteği etkinleştir" + +#~ msgctxt "support_enable description" +#~ msgid "Enable support structures. These structures support parts of the model with severe overhangs." +#~ msgstr "Destek yapılarını etkinleştir. Bu yapılar sert çıkıntıları olan model parçalarını destekler." + +#~ msgctxt "support_interface_extruder_nr description" +#~ msgid "The extruder train to use for printing the roofs and bottoms of the support. This is used in multi-extrusion." +#~ msgstr "Destek dolgusunun tavan ve tabanları için kullanılacak ekstruder Çoklu ekstrüzyon işlemi için kullanılır." + +#~ msgctxt "support_bottom_stair_step_height description" +#~ msgid "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures." +#~ msgstr "Model üzerindeki desteğin merdivene benzeyen alt kısmındaki basamakların yüksekliği. Düşük bir değer desteğin çıkarılmasını zorlaştırırken yüksek değerler destek yapılarının sağlam olmamasına neden olabilir." + +#~ msgctxt "support_bottom_height label" +#~ msgid "Support Bottom Thickness" +#~ msgstr "Destek Taban Kalınlığı" + +#~ msgctxt "support_bottom_height description" +#~ msgid "The thickness of the support bottoms. This controls the number of dense layers are printed on top of places of a model on which support rests." +#~ msgstr "Destek tabanlarının kalınlığı. Desteğin bulunduğu modelin üst kısımlarına yazdırılan yoğun katmanların sayısını kontrol eder." + +#~ msgctxt "support_interface_skip_height description" +#~ msgid "When checking where there's model above the support, take steps of the given height. Lower values will slice slower, while higher values may cause normal support to be printed in some places where there should have been support interface." +#~ msgstr "Destek üzerinde modelin olduğu yeri kontrol ederken belirtilen yükselin adımlarını izleyin. Daha yüksek değerler, destek arayüzü olması gereken yerlerde yazdırılacak normal destek oluştururken daha düşük değerler daha yavaş dilimler." + +#~ msgctxt "support_interface_density description" +#~ msgid "Adjusts the density of the roofs and bottoms of the support structure. A higher value results in better overhangs, but the supports are harder to remove." +#~ msgstr "Destek yapısının tavan ve tabanlarının yoğunluğunu ayarlar. Daha yüksek bir değer daha iyi çıkıntılar ortaya çıkarırken desteklerin kaldırılmasını zorlaştırır." + +#~ msgctxt "support_interface_line_distance label" +#~ msgid "Support Interface Line Distance" +#~ msgstr "Destek Arayüz Hattı Mesafesi" + +#~ msgctxt "support_interface_line_distance description" +#~ msgid "Distance between the printed support interface lines. This setting is calculated by the Support Interface Density, but can be adjusted separately." +#~ msgstr "Yazdırılan destek arayüz hatları arasındaki mesafe. Bu ayar, Destek Arayüz Yoğunluğu ile hesaplanır ama ayrı ayrı ayarlanabilir." + +#~ msgctxt "magic_spiralize description" +#~ msgid "Spiralize smooths out the Z move of the outer edge. This will create a steady Z increase over the whole print. This feature turns a solid model into a single walled print with a solid bottom. This feature used to be called Joris in older versions." +#~ msgstr "Dış kenarın Z hareketini pürüzsüzleştirir. Bu şekilde yazdırma boyunca sabit bir Z artışı oluşur. Bu özellik, katı bir modeli katı bir tabanı olan tek duvarlı bir modele dönüştürür. Özellik, diğer sürümlerde Joris olarak adlandırılmıştır." + #~ msgctxt "material_print_temperature description" #~ msgid "The temperature used for printing. Set at 0 to pre-heat the printer manually." #~ msgstr "Yazdırma için kullanılan sıcaklık. Yazıcıyı elle önceden ısıtmak için 0’a ayarlayın." diff --git a/resources/meshes/3dator_platform.stl b/resources/meshes/3dator_platform.stl new file mode 100644 index 0000000000..f8acc96038 Binary files /dev/null and b/resources/meshes/3dator_platform.stl differ diff --git a/resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl b/resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl old mode 100644 new mode 100755 diff --git a/resources/meshes/FT-5_build_plate.stl b/resources/meshes/FT-5_build_plate.stl index 2891632d5f..009eebbfb5 100644 Binary files a/resources/meshes/FT-5_build_plate.stl and b/resources/meshes/FT-5_build_plate.stl differ diff --git a/resources/meshes/cartesio_platform.stl b/resources/meshes/cartesio_platform.stl index 65f0204881..d73581838b 100644 Binary files a/resources/meshes/cartesio_platform.stl and b/resources/meshes/cartesio_platform.stl differ diff --git a/resources/meshes/discoeasy200.stl b/resources/meshes/discoeasy200.stl new file mode 100644 index 0000000000..f230512303 Binary files /dev/null and b/resources/meshes/discoeasy200.stl differ diff --git a/resources/meshes/kossel_pro_build_platform.stl b/resources/meshes/kossel_pro_build_platform.stl index 8188f0408f..31dcea7dc8 100644 Binary files a/resources/meshes/kossel_pro_build_platform.stl and b/resources/meshes/kossel_pro_build_platform.stl differ diff --git a/resources/meshes/makeR_prusa_tairona_i3_platform.stl b/resources/meshes/makeR_prusa_tairona_i3_platform.stl index 2e4b650637..d6e2b92a8e 100644 Binary files a/resources/meshes/makeR_prusa_tairona_i3_platform.stl and b/resources/meshes/makeR_prusa_tairona_i3_platform.stl differ diff --git a/resources/meshes/mendel90_platform.stl b/resources/meshes/mendel90_platform.stl index 706c90539d..e9cccea41a 100644 Binary files a/resources/meshes/mendel90_platform.stl and b/resources/meshes/mendel90_platform.stl differ diff --git a/resources/meshes/printrbot_simple_metal_upgrade.stl b/resources/meshes/printrbot_simple_metal_upgrade.stl index 3ff934c478..4df4ee6217 100644 Binary files a/resources/meshes/printrbot_simple_metal_upgrade.stl and b/resources/meshes/printrbot_simple_metal_upgrade.stl differ diff --git a/resources/meshes/prusai3_xl_platform.stl b/resources/meshes/prusai3_xl_platform.stl index c4b8dd1c99..ad66835c06 100644 Binary files a/resources/meshes/prusai3_xl_platform.stl and b/resources/meshes/prusai3_xl_platform.stl differ diff --git a/resources/meshes/tam_series1.stl b/resources/meshes/tam_series1.stl new file mode 100644 index 0000000000..43f7a6ece0 Binary files /dev/null and b/resources/meshes/tam_series1.stl differ diff --git a/resources/qml/AboutDialog.qml b/resources/qml/AboutDialog.qml index c1e441e4ca..8c2d982b1d 100644 --- a/resources/qml/AboutDialog.qml +++ b/resources/qml/AboutDialog.qml @@ -14,8 +14,8 @@ UM.Dialog //: About dialog title title: catalog.i18nc("@title:window","About Cura") - minimumWidth: 450 * Screen.devicePixelRatio - minimumHeight: 550 * Screen.devicePixelRatio + minimumWidth: 500 + minimumHeight: 650 width: minimumWidth height: minimumHeight diff --git a/resources/qml/AskOpenAsProjectOrModelsDialog.qml b/resources/qml/AskOpenAsProjectOrModelsDialog.qml index a3879bb8ac..df451a58cf 100644 --- a/resources/qml/AskOpenAsProjectOrModelsDialog.qml +++ b/resources/qml/AskOpenAsProjectOrModelsDialog.qml @@ -18,8 +18,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Open project file") - width: 450 * Screen.devicePixelRatio - height: 150 * Screen.devicePixelRatio + width: 450 + height: 150 maximumHeight: height maximumWidth: width @@ -61,10 +61,10 @@ UM.Dialog Column { anchors.fill: parent - anchors.leftMargin: 20 * Screen.devicePixelRatio - anchors.rightMargin: 20 * Screen.devicePixelRatio - anchors.bottomMargin: 20 * Screen.devicePixelRatio - spacing: 10 * Screen.devicePixelRatio + anchors.leftMargin: 20 + anchors.rightMargin: 20 + anchors.bottomMargin: 20 + spacing: 10 Label { @@ -94,7 +94,7 @@ UM.Dialog id: openAsProjectButton text: catalog.i18nc("@action:button", "Open as project"); anchors.right: importModelsButton.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width * Screen.devicePixelRatio + anchors.rightMargin: UM.Theme.getSize("default_margin").width isDefault: true onClicked: { diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 0a48725011..2c76bb0914 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -18,7 +18,24 @@ UM.MainWindow //: Cura application window title title: catalog.i18nc("@title:window","Cura"); viewportRect: Qt.rect(0, 0, (base.width - sidebar.width) / base.width, 1.0) - property bool monitoringPrint: false + property bool showPrintMonitor: false + + Connections + { + target: Printer + onShowPrintMonitor: + { + if (show) + { + topbar.startMonitoringPrint() + } + else + { + topbar.stopMonitoringPrint() + } + } + } + Component.onCompleted: { CuraApplication.setMinimumWindowSize(UM.Theme.getSize("window_minimum_size")) @@ -260,6 +277,31 @@ UM.MainWindow { if (drop.urls.length > 0) { + // As the drop area also supports plugins, first check if it's a plugin that was dropped. + if (drop.urls.length == 1) + { + if (PluginRegistry.isPluginFile(drop.urls[0])) + { + // Try to install plugin & close. + var result = PluginRegistry.installPlugin(drop.urls[0]); + pluginInstallDialog.text = result.message; + if (result.status == "ok") + { + pluginInstallDialog.icon = StandardIcon.Information; + } + else if (result.status == "duplicate") + { + pluginInstallDialog.icon = StandardIcon.Warning; + } + else + { + pluginInstallDialog.icon = StandardIcon.Critical; + } + pluginInstallDialog.open(); + return; + } + } + openDialog.handleOpenFileUrls(drop.urls); } } @@ -281,9 +323,14 @@ UM.MainWindow { id: view_panel - anchors.top: viewModeButton.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height; + property bool hugBottom: parent.height < viewModeButton.y + viewModeButton.height + height + UM.Theme.getSize("default_margin").height + + anchors.bottom: parent.bottom // panel is always anchored to the bottom only, because dynamically switching between bottom and top results in stretching the height + anchors.bottomMargin: hugBottom ? 0 : parent.height - (viewModeButton.y + viewModeButton.height + height + UM.Theme.getSize("default_margin").height) anchors.left: viewModeButton.left; + anchors.leftMargin: hugBottom ? viewModeButton.width + UM.Theme.getSize("default_margin").width : 0 + + property var buttonTarget: Qt.point(viewModeButton.x + viewModeButton.width / 2, viewModeButton.y + viewModeButton.height / 2) height: childrenRect.height; @@ -299,7 +346,8 @@ UM.MainWindow tooltip: ''; anchors { - top: parent.top; + top: topbar.bottom; + topMargin: UM.Theme.getSize("default_margin").height; left: parent.left; } action: Cura.Actions.open; @@ -341,19 +389,30 @@ UM.MainWindow } } + Topbar + { + id: topbar + anchors.left:parent.left + anchors.right: parent.right + anchors.top: parent.top + monitoringPrint: base.showPrintMonitor + onStartMonitoringPrint: base.showPrintMonitor = true + onStopMonitoringPrint: base.showPrintMonitor = false + } + Sidebar { id: sidebar; anchors { - top: parent.top; + top: topbar.bottom; bottom: parent.bottom; right: parent.right; } z: 1 - onMonitoringPrintChanged: base.monitoringPrint = monitoringPrint width: UM.Theme.getSize("sidebar").width; + monitoringPrint: base.showPrintMonitor } Button @@ -382,13 +441,13 @@ UM.MainWindow color: UM.Theme.getColor("viewport_overlay") anchors { - top: parent.top + top: topbar.bottom bottom: parent.bottom left:parent.left right: sidebar.left } visible: opacity > 0 - opacity: base.monitoringPrint ? 0.75 : 0 + opacity: base.showPrintMonitor ? 0.75 : 0 Behavior on opacity { NumberAnimation { duration: 100; } } @@ -400,41 +459,13 @@ UM.MainWindow } } - Image + Loader { - id: cameraImage - width: Math.min(viewportOverlay.width, sourceSize.width) - height: sourceSize.height * width / sourceSize.width + sourceComponent: Cura.MachineManager.printerOutputDevices.length > 0 ? Cura.MachineManager.printerOutputDevices[0].monitorItem: null + visible: base.showPrintMonitor anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2 - visible: base.monitoringPrint - onVisibleChanged: - { - if(Cura.MachineManager.printerOutputDevices.length == 0 ) - { - return; - } - if(visible) - { - Cura.MachineManager.printerOutputDevices[0].startCamera() - } else - { - Cura.MachineManager.printerOutputDevices[0].stopCamera() - } - } - source: - { - if(!base.monitoringPrint) - { - return ""; - } - if(Cura.MachineManager.printerOutputDevices.length > 0 && Cura.MachineManager.printerOutputDevices[0].cameraImage) - { - return Cura.MachineManager.printerOutputDevices[0].cameraImage; - } - return ""; - } } UM.MessageStack @@ -713,6 +744,14 @@ UM.MainWindow } } + MessageDialog + { + id: pluginInstallDialog + title: catalog.i18nc("@window:title", "Install Plugin"); + standardButtons: StandardButton.Ok + modality: Qt.ApplicationModal + } + MessageDialog { id: infoMultipleFilesWithGcodeDialog title: catalog.i18nc("@title:window", "Open File(s)") diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index 4233bb9e18..f3c790e416 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -14,8 +14,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Discard or Keep changes") - width: 800 * Screen.devicePixelRatio - height: 400 * Screen.devicePixelRatio + width: 800 + height: 400 property var changesModel: Cura.UserChangesModel{ id: userChangesModel} onVisibilityChanged: { @@ -36,9 +36,14 @@ UM.Dialog } } - Column + Row { - anchors.fill: parent + id: infoTextRow + height: childrenRect.height + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top spacing: UM.Theme.getSize("default_margin").width UM.I18nCatalog @@ -47,29 +52,25 @@ UM.Dialog name: "cura" } - Row + Label { - height: childrenRect.height + text: catalog.i18nc("@text:window", "You have customized some profile settings.\nWould you like to keep or discard those settings?") anchors.margins: UM.Theme.getSize("default_margin").width - anchors.left: parent.left - anchors.right: parent.right - spacing: UM.Theme.getSize("default_margin").width - - Label - { - text: catalog.i18nc("@text:window", "You have customized some profile settings.\nWould you like to keep or discard those settings?") - anchors.margins: UM.Theme.getSize("default_margin").width - font: UM.Theme.getFont("default") - wrapMode: Text.WordWrap - } + wrapMode: Text.WordWrap } + } + Item + { + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.top: infoTextRow.bottom + anchors.bottom: optionRow.top + anchors.left: parent.left + anchors.right: parent.right TableView { - anchors.margins: UM.Theme.getSize("default_margin").width - anchors.left: parent.left - anchors.right: parent.right - height: base.height - 150 * Screen.devicePixelRatio + anchors.fill: parent + height: base.height - 150 id: tableView Component { @@ -132,92 +133,96 @@ UM.Dialog model: base.changesModel } + } - Item + Item + { + id: optionRow + anchors.bottom: buttonsRow.top + anchors.right: parent.right + anchors.left: parent.left + anchors.margins: UM.Theme.getSize("default_margin").width + height: childrenRect.height + + ComboBox { - anchors.right: parent.right - anchors.left: parent.left - anchors.margins: UM.Theme.getSize("default_margin").width - height:childrenRect.height + id: discardOrKeepProfileChangesDropDownButton + width: 300 - ComboBox + model: ListModel { - id: discardOrKeepProfileChangesDropDownButton - width: 300 + id: discardOrKeepProfileListModel - model: ListModel - { - id: discardOrKeepProfileListModel - - Component.onCompleted: { - append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) - append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) - append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) - } - } - - onActivated: - { - var code = model.get(index).code; - UM.Preferences.setValue("cura/choice_on_profile_override", code); - - if (code == "always_keep") { - keepButton.enabled = true; - discardButton.enabled = false; - } - else if (code == "always_discard") { - keepButton.enabled = false; - discardButton.enabled = true; - } - else { - keepButton.enabled = true; - discardButton.enabled = true; - } - } - } - } - - Item - { - anchors.right: parent.right - anchors.left: parent.left - anchors.margins: UM.Theme.getSize("default_margin").width - height: childrenRect.height - - Button - { - id: discardButton - text: catalog.i18nc("@action:button", "Discard"); - anchors.right: parent.right - onClicked: - { - CuraApplication.discardOrKeepProfileChangesClosed("discard") - base.hide() - } - isDefault: true - } - - Button - { - id: keepButton - text: catalog.i18nc("@action:button", "Keep"); - anchors.right: discardButton.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - onClicked: - { - CuraApplication.discardOrKeepProfileChangesClosed("keep") - base.hide() + Component.onCompleted: { + append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) } } - Button + onActivated: { - id: createNewProfileButton - text: catalog.i18nc("@action:button", "Create New Profile"); - anchors.left: parent.left - action: Cura.Actions.addProfile - onClicked: base.hide() + var code = model.get(index).code; + UM.Preferences.setValue("cura/choice_on_profile_override", code); + + if (code == "always_keep") { + keepButton.enabled = true; + discardButton.enabled = false; + } + else if (code == "always_discard") { + keepButton.enabled = false; + discardButton.enabled = true; + } + else { + keepButton.enabled = true; + discardButton.enabled = true; + } } } } + + Item + { + id: buttonsRow + anchors.bottom: parent.bottom + anchors.right: parent.right + anchors.left: parent.left + anchors.margins: UM.Theme.getSize("default_margin").width + height: childrenRect.height + + Button + { + id: discardButton + text: catalog.i18nc("@action:button", "Discard"); + anchors.right: parent.right + onClicked: + { + CuraApplication.discardOrKeepProfileChangesClosed("discard") + base.hide() + } + isDefault: true + } + + Button + { + id: keepButton + text: catalog.i18nc("@action:button", "Keep"); + anchors.right: discardButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + onClicked: + { + CuraApplication.discardOrKeepProfileChangesClosed("keep") + base.hide() + } + } + + Button + { + id: createNewProfileButton + text: catalog.i18nc("@action:button", "Create New Profile"); + anchors.left: parent.left + action: Cura.Actions.addProfile + onClicked: base.hide() + } + } } \ No newline at end of file diff --git a/resources/qml/ExtruderButton.qml b/resources/qml/ExtruderButton.qml index ba503dba2b..296964448b 100644 --- a/resources/qml/ExtruderButton.qml +++ b/resources/qml/ExtruderButton.qml @@ -13,7 +13,7 @@ Button property var extruder; - text: catalog.i18ncp("@label", "Print Selected Model with %1", "Print Selected Models With %1", UM.Selection.selectionCount).arg(extruder.name) + text: catalog.i18ncp("@label %1 is filled in with the name of an extruder", "Print Selected Model with %1", "Print Selected Models with %1", UM.Selection.selectionCount).arg(extruder.name) style: UM.Theme.styles.tool_button; iconSource: checked ? UM.Theme.getIcon("material_selected") : UM.Theme.getIcon("material_not_selected"); diff --git a/resources/qml/JobSpecs.qml b/resources/qml/JobSpecs.qml index 6013117728..13d855d993 100644 --- a/resources/qml/JobSpecs.qml +++ b/resources/qml/JobSpecs.qml @@ -24,6 +24,7 @@ Item { UM.I18nCatalog { id: catalog; name:"cura"} property variant printDuration: PrintInformation.currentPrintTime + property variant printDurationPerFeature: PrintInformation.printTimesPerFeature property variant printMaterialLengths: PrintInformation.materialLengths property variant printMaterialWeights: PrintInformation.materialWeights property variant printMaterialCosts: PrintInformation.materialCosts @@ -159,7 +160,7 @@ Item { UM.RecolorImage { id: timeIcon - anchors.right: timeSpec.left + anchors.right: timeSpecPerFeatureTooltipArea.left anchors.rightMargin: UM.Theme.getSize("default_margin").width/2 anchors.verticalCenter: parent.verticalCenter width: UM.Theme.getSize("save_button_specs_icons").width @@ -169,15 +170,50 @@ Item { color: UM.Theme.getColor("text_subtext") source: UM.Theme.getIcon("print_time") } - Text + UM.TooltipArea { - id: timeSpec + id: timeSpecPerFeatureTooltipArea + text: { + var order = ["inset_0", "inset_x", "skin", "infill", "support_infill", "support_interface", "support", "travel", "retract", "none"]; + var visible_names = { + "inset_0": catalog.i18nc("@tooltip", "Outer Wall"), + "inset_x": catalog.i18nc("@tooltip", "Inner Walls"), + "skin": catalog.i18nc("@tooltip", "Skin"), + "infill": catalog.i18nc("@tooltip", "Infill"), + "support_infill": catalog.i18nc("@tooltip", "Support Infill"), + "support_interface": catalog.i18nc("@tooltip", "Support Interface"), + "support": catalog.i18nc("@tooltip", "Support"), + "travel": catalog.i18nc("@tooltip", "Travel"), + "retract": catalog.i18nc("@tooltip", "Retractions"), + "none": catalog.i18nc("@tooltip", "Other") + }; + var result = ""; + for(var feature in order) + { + feature = order[feature]; + if(base.printDurationPerFeature[feature] && base.printDurationPerFeature[feature].totalSeconds > 0) + { + result += "
" + visible_names[feature] + ": " + base.printDurationPerFeature[feature].getDisplayString(UM.DurationFormat.Short); + } + } + result = result.replace(/^\/, ""); // remove newline before first item + return result; + } + width: childrenRect.width + height: childrenRect.height anchors.right: lengthIcon.left anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.verticalCenter: parent.verticalCenter - font: UM.Theme.getFont("small") - color: UM.Theme.getColor("text_subtext") - text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short) + + Text + { + id: timeSpec + anchors.left: parent.left + anchors.top: parent.top + font: UM.Theme.getFont("small") + color: UM.Theme.getColor("text_subtext") + text: (!base.printDuration || !base.printDuration.valid) ? catalog.i18nc("@label", "00h 00min") : base.printDuration.getDisplayString(UM.DurationFormat.Short) + } } UM.RecolorImage { diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index 0c0dbc39ca..915d320f41 100755 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -81,8 +81,6 @@ Menu title: catalog.i18ncp("@title:window", "Multiply Selected Model", "Multiply Selected Models", UM.Selection.selectionCount) - width: 400 * Screen.devicePixelRatio - height: 80 * Screen.devicePixelRatio onAccepted: CuraActions.multiplySelection(copiesField.value) diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml index cb1a4cf644..9127276f3d 100644 --- a/resources/qml/Menus/MaterialMenu.qml +++ b/resources/qml/Menus/MaterialMenu.qml @@ -150,7 +150,7 @@ Menu function materialFilter() { - var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) }; + var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value).toString() }; if(Cura.MachineManager.filterMaterialsByMachine) { result.definition = Cura.MachineManager.activeQualityDefinitionId; diff --git a/resources/qml/MultiplyObjectOptions.qml b/resources/qml/MultiplyObjectOptions.qml deleted file mode 100644 index a079369d0d..0000000000 --- a/resources/qml/MultiplyObjectOptions.qml +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2015 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Controls 1.1 -import QtQuick.Window 2.1 - -import UM 1.1 as UM - -UM.Dialog -{ - id: base - - //: Dialog title - title: catalog.i18nc("@title:window", "Multiply Model") - - minimumWidth: 400 * Screen.devicePixelRatio - minimumHeight: 80 * Screen.devicePixelRatio - width: minimumWidth - height: minimumHeight - - property var objectId: 0; - onAccepted: CuraApplication.multiplyObject(base.objectId, parseInt(copiesField.text)) - - property variant catalog: UM.I18nCatalog { name: "cura" } - - signal reset() - onReset: { - copiesField.text = "1"; - copiesField.selectAll(); - copiesField.focus = true; - } - - Row - { - spacing: UM.Theme.getSize("default_margin").width - - Label { - text: "Number of copies:" - anchors.verticalCenter: copiesField.verticalCenter - } - - TextField { - id: copiesField - validator: RegExpValidator { regExp: /^\d{0,2}/ } - maximumLength: 2 - } - } - - - rightButtons: - [ - Button - { - text: catalog.i18nc("@action:button","OK") - onClicked: base.accept() - enabled: base.objectId != 0 && parseInt(copiesField.text) > 0 - }, - Button - { - text: catalog.i18nc("@action:button","Cancel") - onClicked: base.reject() - } - ] -} - diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml index 38160522e3..c817b03541 100644 --- a/resources/qml/OpenFilesIncludingProjectsDialog.qml +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -17,8 +17,8 @@ UM.Dialog id: base title: catalog.i18nc("@title:window", "Open file(s)") - width: 420 * Screen.devicePixelRatio - height: 170 * Screen.devicePixelRatio + width: 420 + height: 170 maximumHeight: height maximumWidth: width @@ -52,12 +52,12 @@ UM.Dialog Column { anchors.fill: parent - anchors.leftMargin: 20 * Screen.devicePixelRatio - anchors.rightMargin: 20 * Screen.devicePixelRatio - anchors.bottomMargin: 20 * Screen.devicePixelRatio + anchors.leftMargin: 20 + anchors.rightMargin: 20 + anchors.bottomMargin: 20 anchors.left: parent.left anchors.right: parent.right - spacing: 10 * Screen.devicePixelRatio + spacing: 10 Text { diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 689f7aafa9..260c23c4ba 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -86,6 +86,8 @@ UM.PreferencesPage centerOnSelectCheckbox.checked = boolCheck(UM.Preferences.getValue("view/center_on_select")) UM.Preferences.resetPreference("view/invert_zoom"); invertZoomCheckbox.checked = boolCheck(UM.Preferences.getValue("view/invert_zoom")) + UM.Preferences.resetPreference("view/zoom_to_mouse"); + zoomToMouseCheckbox.checked = boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) UM.Preferences.resetPreference("view/top_layer_count"); topLayerCountCheckbox.checked = boolCheck(UM.Preferences.getValue("view/top_layer_count")) @@ -152,6 +154,8 @@ UM.PreferencesPage append({ text: "Suomi", code: "fi" }) append({ text: "Français", code: "fr" }) append({ text: "Italiano", code: "it" }) + append({ text: "日本語", code: "jp" }) + append({ text: "한국어", code: "ko" }) append({ text: "Nederlands", code: "nl" }) append({ text: "Português do Brasil", code: "ptbr" }) append({ text: "Русский", code: "ru" }) @@ -217,7 +221,11 @@ UM.PreferencesPage id: themeList Component.onCompleted: { - append({ text: catalog.i18nc("@item:inlistbox", "Ultimaker"), code: "cura" }) + var themes = UM.Theme.getThemes() + for (var i = 0; i < themes.length; i++) + { + append({ text: themes[i].name.toString(), code: themes[i].id.toString() }); + } } } @@ -231,6 +239,7 @@ UM.PreferencesPage return i } } + return 0; } onActivated: UM.Preferences.setValue("general/theme", model.get(index).code) @@ -254,7 +263,7 @@ UM.PreferencesPage - Label + Label { id: languageCaption @@ -322,7 +331,7 @@ UM.PreferencesPage UM.TooltipArea { width: childrenRect.width; height: childrenRect.height; - text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when an model is selected") + text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when a model is selected") CheckBox { @@ -330,7 +339,6 @@ UM.PreferencesPage text: catalog.i18nc("@action:button","Center camera when item is selected"); checked: boolCheck(UM.Preferences.getValue("view/center_on_select")) onClicked: UM.Preferences.setValue("view/center_on_select", checked) - enabled: Qt.platform.os != "windows" // Hack: disable the feature on windows as it's broken for pyqt 5.7.1. } } @@ -348,6 +356,20 @@ UM.PreferencesPage } } + UM.TooltipArea { + width: childrenRect.width; + height: childrenRect.height; + text: catalog.i18nc("@info:tooltip", "Should zooming move in the direction of the mouse?") + + CheckBox + { + id: zoomToMouseCheckbox + text: catalog.i18nc("@action:button", "Zoom toward mouse direction"); + checked: boolCheck(UM.Preferences.getValue("view/zoom_to_mouse")) + onClicked: UM.Preferences.setValue("view/zoom_to_mouse", checked) + } + } + UM.TooltipArea { width: childrenRect.width height: childrenRect.height diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 8568acc4ce..11e82ea054 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -112,8 +112,8 @@ UM.ManagementPage { id: actionDialog property var content - minimumWidth: 350 * Screen.devicePixelRatio; - minimumHeight: 350 * Screen.devicePixelRatio; + minimumWidth: 350 + minimumHeight: 350 onContentChanged: { contents = content; @@ -257,6 +257,8 @@ UM.ManagementPage UM.RenameDialog { id: renameDialog; + width: 300 + height: 150 object: base.currentItem && base.currentItem.name ? base.currentItem.name : ""; property var machine_name_validator: Cura.MachineNameValidator { } validName: renameDialog.newName.match(renameDialog.machine_name_validator.machineNameRegex) != null; diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index 226fd349bf..39692a9f84 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -1,5 +1,5 @@ -// Copyright (c) 2016 Ultimaker B.V. -// Uranium is released under the terms of the AGPLv3 or higher. +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.3 @@ -24,66 +24,89 @@ TabView property double spoolLength: calculateSpoolLength() property real costPerMeter: calculateCostPerMeter() + property bool reevaluateLinkedMaterials: false + property string linkedMaterialNames: + { + if (reevaluateLinkedMaterials) + { + reevaluateLinkedMaterials = false; + } + if(!base.containerId || !base.editingEnabled) + { + return "" + } + var linkedMaterials = Cura.ContainerManager.getLinkedMaterials(base.containerId); + return linkedMaterials.join(", "); + } + Tab { title: catalog.i18nc("@title","Information") - anchors - { - leftMargin: UM.Theme.getSize("default_margin").width - topMargin: UM.Theme.getSize("default_margin").height - bottomMargin: UM.Theme.getSize("default_margin").height - rightMargin: 0 - } + anchors.margins: UM.Theme.getSize("default_margin").width ScrollView { + id: scrollView anchors.fill: parent horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff flickableItem.flickableDirection: Flickable.VerticalFlick + frameVisible: true + + property real columnWidth: Math.floor(viewport.width * 0.5) - UM.Theme.getSize("default_margin").width Flow { id: containerGrid - width: base.width; + x: UM.Theme.getSize("default_margin").width + y: UM.Theme.getSize("default_lining").height - property real rowHeight: textField.height; + width: base.width + property real rowHeight: textField.height + UM.Theme.getSize("default_lining").height - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Display Name") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Display Name") } ReadOnlyTextField { id: displayNameTextField; - width: base.secondColumnWidth; + width: scrollView.columnWidth; text: properties.name; readOnly: !base.editingEnabled; onEditingFinished: base.setName(properties.name, text) } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Brand") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Brand") } ReadOnlyTextField { id: textField; - width: base.secondColumnWidth; + width: scrollView.columnWidth; text: properties.supplier; readOnly: !base.editingEnabled; - onEditingFinished: base.setMetaDataEntry("brand", properties.supplier, text) + onEditingFinished: + { + base.setMetaDataEntry("brand", properties.supplier, text); + pane.objectList.currentIndex = pane.getIndexById(base.containerId); + } } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Material Type") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Material Type") } ReadOnlyTextField { - width: base.secondColumnWidth; + width: scrollView.columnWidth; text: properties.material_type; readOnly: !base.editingEnabled; - onEditingFinished: base.setMetaDataEntry("material", properties.material_type, text) + onEditingFinished: + { + base.setMetaDataEntry("material", properties.material_type, text); + pane.objectList.currentIndex = pane.getIndexById(base.containerId) + } } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") } Row { - width: base.secondColumnWidth; + width: scrollView.columnWidth; height: parent.rowHeight; spacing: UM.Theme.getSize("default_margin").width/2 @@ -115,11 +138,11 @@ TabView Label { width: parent.width; height: parent.rowHeight; font.bold: true; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Properties") } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Density") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Density") } ReadOnlySpinBox { id: densitySpinBox - width: base.secondColumnWidth + width: scrollView.columnWidth value: properties.density decimals: 2 suffix: " g/cm³" @@ -130,26 +153,40 @@ TabView onValueChanged: updateCostPerMeter() } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Diameter") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Diameter") } ReadOnlySpinBox { id: diameterSpinBox - width: base.secondColumnWidth + width: scrollView.columnWidth value: properties.diameter decimals: 2 suffix: " mm" stepSize: 0.01 readOnly: !base.editingEnabled - onEditingFinished: base.setMetaDataEntry("properties/diameter", properties.diameter, value) + onEditingFinished: + { + // This does not use a SettingPropertyProvider, because we need to make the change to all containers + // which derive from the same base_file + var old_diameter = Cura.ContainerManager.getContainerProperty(base.containerId, "material_diameter", "value").toString(); + var old_approximate_diameter = Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"); + base.setMetaDataEntry("approximate_diameter", old_approximate_diameter, Math.round(value).toString()); + base.setMetaDataEntry("properties/diameter", properties.diameter, value); + var new_approximate_diameter = Cura.ContainerManager.getContainerMetaDataEntry(base.containerId, "approximate_diameter"); + if (Cura.MachineManager.filterMaterialsByMachine && new_approximate_diameter != Cura.MachineManager.activeMachine.approximateMaterialDiameter) + { + Cura.MaterialManager.showMaterialWarningMessage(base.containerId, old_diameter); + } + Cura.ContainerManager.setContainerProperty(base.containerId, "material_diameter", "value", value); + } onValueChanged: updateCostPerMeter() } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament Cost") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament Cost") } SpinBox { id: spoolCostSpinBox - width: base.secondColumnWidth + width: scrollView.columnWidth value: base.getMaterialPreferenceValue(properties.guid, "spool_cost") prefix: base.currency + " " decimals: 2 @@ -161,11 +198,11 @@ TabView } } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament weight") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament weight") } SpinBox { id: spoolWeightSpinBox - width: base.secondColumnWidth + width: scrollView.columnWidth value: base.getMaterialPreferenceValue(properties.guid, "spool_weight") suffix: " g" stepSize: 100 @@ -178,24 +215,45 @@ TabView } } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament length") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Filament length") } Label { - width: base.secondColumnWidth + width: scrollView.columnWidth text: "~ %1 m".arg(Math.round(base.spoolLength)) verticalAlignment: Qt.AlignVCenter height: parent.rowHeight } - Label { width: base.firstColumnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Cost per Meter") } + Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Cost per Meter") } Label { - width: base.secondColumnWidth + width: scrollView.columnWidth text: "~ %1 %2/m".arg(base.costPerMeter.toFixed(2)).arg(base.currency) verticalAlignment: Qt.AlignVCenter height: parent.rowHeight } + Item { width: parent.width; height: UM.Theme.getSize("default_margin").height; visible: unlinkMaterialButton.visible } + Label + { + width: 2 * scrollView.columnWidth + verticalAlignment: Qt.AlignVCenter + text: catalog.i18nc("@label", "This material is linked to %1 and shares some of its properties.").arg(base.linkedMaterialNames) + wrapMode: Text.WordWrap + visible: unlinkMaterialButton.visible + } + Button + { + id: unlinkMaterialButton + text: catalog.i18nc("@label", "Unlink Material") + visible: base.linkedMaterialNames != "" + onClicked: + { + Cura.ContainerManager.unlinkMaterial(base.containerId) + base.reevaluateLinkedMaterials = true + } + } + Item { width: parent.width; height: UM.Theme.getSize("default_margin").height } Label { width: parent.width; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Description") } @@ -203,7 +261,7 @@ TabView ReadOnlyTextArea { text: properties.description; - width: base.firstColumnWidth + base.secondColumnWidth + width: 2 * scrollView.columnWidth wrapMode: Text.WordWrap readOnly: !base.editingEnabled; @@ -216,13 +274,15 @@ TabView ReadOnlyTextArea { text: properties.adhesion_info; - width: base.firstColumnWidth + base.secondColumnWidth + width: 2 * scrollView.columnWidth wrapMode: Text.WordWrap readOnly: !base.editingEnabled; onEditingFinished: base.setMetaDataEntry("adhesion_info", properties.adhesion_info, text) } + + Item { width: parent.width; height: UM.Theme.getSize("default_margin").height } } function updateCostPerMeter() @@ -266,8 +326,10 @@ TabView { id: label width: base.firstColumnWidth; - height: spinBox.height + height: spinBox.height + UM.Theme.getSize("default_lining").height text: model.label + elide: Text.ElideRight + verticalAlignment: Qt.AlignVCenter } ReadOnlySpinBox { @@ -380,6 +442,7 @@ TabView Cura.ContainerManager.setContainerName(base.containerId, new_value); // update material name label. not so pretty, but it works materialProperties.name = new_value; + pane.objectList.currentIndex = pane.getIndexById(base.containerId) } } } diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml index 08cb6d4d13..b4ee4d5c49 100644 --- a/resources/qml/Preferences/MaterialsPage.qml +++ b/resources/qml/Preferences/MaterialsPage.qml @@ -1,5 +1,5 @@ -// Copyright (c) 2016 Ultimaker B.V. -// Cura is released under the terms of the AGPLv3 or higher. +//Copyright (c) 2017 Ultimaker B.V. +//Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.1 import QtQuick.Controls 1.1 @@ -14,11 +14,17 @@ UM.ManagementPage title: catalog.i18nc("@title:tab", "Materials"); - model: UM.InstanceContainersModel + Component.onCompleted: + { + // Workaround to make sure all of the items are visible + objectList.positionViewAtBeginning(); + } + + model: Cura.MaterialsModel { filter: { - var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) } + var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value).toString() } if(Cura.MachineManager.filterMaterialsByMachine) { result.definition = Cura.MachineManager.activeQualityDefinitionId; @@ -81,6 +87,7 @@ UM.ManagementPage anchors.fill: parent; onClicked: { + forceActiveFocus(); if(!parent.ListView.isCurrentItem) { parent.ListView.view.currentIndex = index; @@ -91,9 +98,11 @@ UM.ManagementPage } activeId: Cura.MachineManager.activeMaterialId - activeIndex: { + activeIndex: getIndexById(activeId) + function getIndexById(material_id) + { for(var i = 0; i < model.rowCount(); i++) { - if (model.getItem(i).id == Cura.MachineManager.activeMaterialId) { + if (model.getItem(i).id == material_id) { return i; } } @@ -130,17 +139,38 @@ UM.ManagementPage enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId && Cura.MachineManager.hasMaterials onClicked: { + forceActiveFocus(); Cura.MachineManager.setActiveMaterial(base.currentItem.id) currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item. } }, Button + { + text: catalog.i18nc("@action:button", "Create") + iconName: "list-add" + onClicked: + { + forceActiveFocus(); + var material_id = Cura.ContainerManager.createMaterial() + if(material_id == "") + { + return + } + if(Cura.MachineManager.hasMaterials) + { + Cura.MachineManager.setActiveMaterial(material_id) + } + base.objectList.currentIndex = base.getIndexById(material_id); + } + }, + Button { text: catalog.i18nc("@action:button", "Duplicate"); iconName: "list-add"; enabled: base.currentItem != null onClicked: { + forceActiveFocus(); var base_file = Cura.ContainerManager.getContainerMetaDataEntry(base.currentItem.id, "base_file") // We need to copy the base container instead of the specific variant. var material_id = base_file == "" ? Cura.ContainerManager.duplicateMaterial(base.currentItem.id): Cura.ContainerManager.duplicateMaterial(base_file) @@ -152,6 +182,7 @@ UM.ManagementPage { Cura.MachineManager.setActiveMaterial(material_id) } + base.objectList.currentIndex = base.getIndexById(material_id); } }, Button @@ -159,20 +190,32 @@ UM.ManagementPage text: catalog.i18nc("@action:button", "Remove"); iconName: "list-remove"; enabled: base.currentItem != null && !base.currentItem.readOnly && !Cura.ContainerManager.isContainerUsed(base.currentItem.id) - onClicked: confirmDialog.open() + onClicked: + { + forceActiveFocus(); + confirmDialog.open(); + } }, Button { text: catalog.i18nc("@action:button", "Import"); iconName: "document-import"; - onClicked: importDialog.open(); + onClicked: + { + forceActiveFocus(); + importDialog.open(); + } visible: true; }, Button { text: catalog.i18nc("@action:button", "Export") iconName: "document-export" - onClicked: exportDialog.open() + onClicked: + { + forceActiveFocus(); + exportDialog.open(); + } enabled: currentItem != null } ] @@ -206,6 +249,8 @@ UM.ManagementPage properties: materialProperties containerId: base.currentItem != null ? base.currentItem.id : "" + + property alias pane: base } QtObject @@ -223,6 +268,7 @@ UM.ManagementPage property real density: 0.0; property real diameter: 0.0; + property string approximate_diameter: "0"; property real spool_cost: 0.0; property real spool_weight: 0.0; @@ -251,6 +297,10 @@ UM.ManagementPage { Cura.ContainerManager.removeContainer(containers[i]) } + if(base.objectList.currentIndex > 0) + { + base.objectList.currentIndex--; + } currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item. } } @@ -363,11 +413,13 @@ UM.ManagementPage { materialProperties.density = currentItem.metadata.properties.density ? currentItem.metadata.properties.density : 0.0; materialProperties.diameter = currentItem.metadata.properties.diameter ? currentItem.metadata.properties.diameter : 0.0; + materialProperties.approximate_diameter = currentItem.metadata.approximate_diameter ? currentItem.metadata.approximate_diameter : "0"; } else { materialProperties.density = 0.0; materialProperties.diameter = 0.0; + materialProperties.approximate_diameter = "0"; } } diff --git a/resources/qml/Preferences/ReadOnlyTextArea.qml b/resources/qml/Preferences/ReadOnlyTextArea.qml index 1c457eb5d2..db92c7d2b0 100644 --- a/resources/qml/Preferences/ReadOnlyTextArea.qml +++ b/resources/qml/Preferences/ReadOnlyTextArea.qml @@ -45,17 +45,4 @@ Item } } } - - Label - { - visible: base.readOnly - text: textArea.text - - anchors.fill: parent - anchors.margins: textArea.__style ? textArea.__style.textMargin : 4 - - color: palette.buttonText - } - - SystemPalette { id: palette } } diff --git a/resources/qml/PrintMonitor.qml b/resources/qml/PrintMonitor.qml index eacdc17883..41e8794014 100644 --- a/resources/qml/PrintMonitor.qml +++ b/resources/qml/PrintMonitor.qml @@ -320,7 +320,17 @@ Column Rectangle //Input field for pre-heat temperature. { id: preheatTemperatureControl - color: !enabled ? UM.Theme.getColor("setting_control_disabled") : UM.Theme.getColor("setting_validation_ok") + color: !enabled ? UM.Theme.getColor("setting_control_disabled") : showError ? UM.Theme.getColor("setting_validation_error") : UM.Theme.getColor("setting_validation_ok") + property var showError: + { + if(bedTemperature.properties.maximum_value != "None" && bedTemperature.properties.maximum_value < parseInt(preheatTemperatureInput.text)) + { + return true; + } else + { + return false; + } + } enabled: { if (connectedPrinter == null) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 411da0c392..2ea7dafc91 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -24,7 +24,7 @@ Item { { if(!activity) { - return catalog.i18nc("@label:PrintjobStatus", "Please load a 3d model"); + return catalog.i18nc("@label:PrintjobStatus", "Please load a 3D model"); } switch(base.backendState) diff --git a/resources/qml/Settings/SettingCategory.qml b/resources/qml/Settings/SettingCategory.qml index 75514e7c1b..e8c0983398 100644 --- a/resources/qml/Settings/SettingCategory.qml +++ b/resources/qml/Settings/SettingCategory.qml @@ -14,10 +14,14 @@ Button { style: UM.Theme.styles.sidebar_category; - signal showTooltip(string text); - signal hideTooltip(); + signal showTooltip(string text) + signal hideTooltip() signal contextMenuRequested() signal showAllHiddenInheritedSettings(string category_id) + signal focusReceived() + signal setActiveFocusToNextSetting(bool forward) + + property var focusItem: base text: definition.label iconSource: UM.Theme.getIcon(definition.icon) @@ -25,7 +29,33 @@ Button { checkable: true checked: definition.expanded - onClicked: { forceActiveFocus(); definition.expanded ? settingDefinitionsModel.collapse(definition.key) : settingDefinitionsModel.expandAll(definition.key) } + onClicked: + { + forceActiveFocus(); + if(definition.expanded) + { + settingDefinitionsModel.collapse(definition.key); + } else { + settingDefinitionsModel.expandAll(definition.key); + } + } + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } + UM.SimpleButton { id: settingsButton diff --git a/resources/qml/Settings/SettingCheckBox.qml b/resources/qml/Settings/SettingCheckBox.qml index 97a72a026e..4ef7f59a77 100644 --- a/resources/qml/Settings/SettingCheckBox.qml +++ b/resources/qml/Settings/SettingCheckBox.qml @@ -11,6 +11,7 @@ import UM 1.2 as UM SettingItem { id: base + property var focusItem: control contents: MouseArea { @@ -49,12 +50,35 @@ SettingItem } } + Keys.onSpacePressed: + { + forceActiveFocus(); + propertyProvider.setPropertyValue("value", !checked); + } + onClicked: { forceActiveFocus(); propertyProvider.setPropertyValue("value", !checked); } + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } + + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + Rectangle { anchors @@ -67,7 +91,7 @@ SettingItem color: { - if (!enabled) + if(!enabled) { return UM.Theme.getColor("setting_control_disabled") } @@ -75,14 +99,22 @@ SettingItem { return UM.Theme.getColor("setting_control_highlight") } - else - { - return UM.Theme.getColor("setting_control") - } + return UM.Theme.getColor("setting_control") } border.width: UM.Theme.getSize("default_lining").width - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.containsMouse ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border") + border.color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled_border") + } + if(control.containsMouse || control.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") + } + return UM.Theme.getColor("setting_control_border") + } UM.RecolorImage { anchors.verticalCenter: parent.verticalCenter diff --git a/resources/qml/Settings/SettingComboBox.qml b/resources/qml/Settings/SettingComboBox.qml index c655630a8e..c29ac123d6 100644 --- a/resources/qml/Settings/SettingComboBox.qml +++ b/resources/qml/Settings/SettingComboBox.qml @@ -10,6 +10,7 @@ import UM 1.1 as UM SettingItem { id: base + property var focusItem: control contents: ComboBox { @@ -33,21 +34,29 @@ SettingItem { color: { - if (!enabled) + if(!enabled) { return UM.Theme.getColor("setting_control_disabled") } - if(control.hovered || base.activeFocus) + if(control.hovered || control.activeFocus) { return UM.Theme.getColor("setting_control_highlight") } - else - { - return UM.Theme.getColor("setting_control") - } + return UM.Theme.getColor("setting_control") + } + border.width: UM.Theme.getSize("default_lining").width + border.color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled_border") + } + if(control.hovered || control.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") + } + return UM.Theme.getColor("setting_control_border") } - border.width: UM.Theme.getSize("default_lining").width; - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border"); } label: Item { @@ -86,7 +95,28 @@ SettingItem } } - onActivated: { forceActiveFocus(); propertyProvider.setPropertyValue("value", definition.options[index].key) } + onActivated: + { + forceActiveFocus(); + propertyProvider.setPropertyValue("value", definition.options[index].key); + } + + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } Binding { diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index cbe1d039bd..15496eaa8b 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -11,26 +11,41 @@ import Cura 1.0 as Cura SettingItem { id: base + property var focusItem: control contents: ComboBox { id: control + anchors.fill: parent - model: Cura.ExtrudersModel - { - id: extruders_model - onModelChanged: control.color = extruders_model.getItem(control.currentIndex).color - } - property string color: - { - var model_color = extruders_model.getItem(control.currentIndex).color; - return (model_color) ? model_color : ""; - } + model: Cura.ExtrudersModel { onModelChanged: control.color = getItem(control.currentIndex).color } textRole: "name" - anchors.fill: parent - onCurrentIndexChanged: updateCurrentColor(); + onActivated: + { + forceActiveFocus(); + propertyProvider.setPropertyValue("value", model.getItem(index).index); + } + + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } + + currentIndex: propertyProvider.properties.value MouseArea { @@ -39,13 +54,24 @@ SettingItem onWheel: wheel.accepted = true; } + property string color: "#fff" + + Binding + { + // We override the color property's value when the ExtruderModel changes. So we need to use an + // explicit binding here otherwise we do not handle value changes after the model changes. + target: control + property: "color" + value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : "" + } + style: ComboBoxStyle { background: Rectangle { color: { - if (!enabled) + if(!enabled) { return UM.Theme.getColor("setting_control_disabled"); } @@ -53,13 +79,21 @@ SettingItem { return UM.Theme.getColor("setting_control_highlight"); } - else - { - return UM.Theme.getColor("setting_control"); - } + return UM.Theme.getColor("setting_control"); } border.width: UM.Theme.getSize("default_lining").width - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border") + border.color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled_border") + } + if(control.hovered || control.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") + } + return UM.Theme.getColor("setting_control_border") + } } label: Item { @@ -68,35 +102,36 @@ SettingItem id: swatch height: UM.Theme.getSize("setting_control").height / 2 width: height - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_lining").width + anchors.verticalCenter: parent.verticalCenter - color: control.color border.width: UM.Theme.getSize("default_lining").width - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : UM.Theme.getColor("setting_control_border") + border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border") + + color: control.color } Label { - anchors.left: swatch.right - anchors.leftMargin: UM.Theme.getSize("default_lining").width - anchors.right: downArrow.left - anchors.rightMargin: UM.Theme.getSize("default_lining").width - anchors.verticalCenter: parent.verticalCenter + anchors + { + left: swatch.right; + right: arrow.left; + verticalCenter: parent.verticalCenter + margins: UM.Theme.getSize("default_lining").width + } + width: parent.width - swatch.width; text: control.currentText font: UM.Theme.getFont("default") - color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text") + color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") elide: Text.ElideRight verticalAlignment: Text.AlignVCenter } - UM.RecolorImage { - id: downArrow + id: arrow anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2 anchors.verticalCenter: parent.verticalCenter source: UM.Theme.getIcon("arrow_bottom") @@ -109,57 +144,5 @@ SettingItem } } } - - onActivated: - { - forceActiveFocus(); - propertyProvider.setPropertyValue("value", extruders_model.getItem(index).index); - control.color = extruders_model.getItem(index).color; - } - - onModelChanged: updateCurrentIndex(); - - Binding - { - target: control - property: "currentIndex" - value: - { - for(var i = 0; i < extruders_model.rowCount(); ++i) - { - if(extruders_model.getItem(i).index == propertyProvider.properties.value) - { - return i; - } - } - return -1; - } - } - - // In some cases we want to update the current color without updating the currentIndex, so it's a seperate function. - function updateCurrentColor() - { - for(var i = 0; i < extruders_model.rowCount(); ++i) - { - if(extruders_model.getItem(i).index == currentIndex) - { - control.color = extruders_model.getItem(i).color; - return; - } - } - } - - function updateCurrentIndex() - { - for(var i = 0; i < extruders_model.rowCount(); ++i) - { - if(extruders_model.getItem(i).index == propertyProvider.properties.value) - { - control.currentIndex = i; - return; - } - } - currentIndex = -1; - } } } diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 65e8b7e1c1..112edb5049 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -32,9 +32,11 @@ Item { property var stackLevels: propertyProvider.stackLevels property var stackLevel: stackLevels[0] + signal focusReceived() + signal setActiveFocusToNextSetting(bool forward) signal contextMenuRequested() - signal showTooltip(string text); - signal hideTooltip(); + signal showTooltip(string text) + signal hideTooltip() signal showAllHiddenInheritedSettings(string category_id) property string tooltipText: { @@ -140,7 +142,7 @@ Item { { id: linkedSettingIcon; - visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || definition.limit_to_extruder != "-1") && base.showLinkedSettingIcon + visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || globalPropertyProvider.properties.limit_to_extruder != "-1") && base.showLinkedSettingIcon height: parent.height; width: height; diff --git a/resources/qml/Settings/SettingOptionalExtruder.qml b/resources/qml/Settings/SettingOptionalExtruder.qml new file mode 100644 index 0000000000..0fd36564a1 --- /dev/null +++ b/resources/qml/Settings/SettingOptionalExtruder.qml @@ -0,0 +1,167 @@ +// Copyright (c) 2016 Ultimaker B.V. +// Uranium is released under the terms of the AGPLv3 or higher. + +import QtQuick 2.1 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 + +import UM 1.1 as UM +import Cura 1.0 as Cura + +SettingItem +{ + id: base + property var focusItem: control + + contents: ComboBox + { + id: control + anchors.fill: parent + + model: Cura.ExtrudersModel + { + onModelChanged: control.color = getItem(control.currentIndex).color + addOptionalExtruder: true + } + + textRole: "name" + + onActivated: + { + forceActiveFocus(); + propertyProvider.setPropertyValue("value", model.getItem(index).index); + } + + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } + + Binding + { + target: control + property: "currentIndex" + value: + { + if(propertyProvider.properties.value == -1) + { + return control.model.items.length - 1 + } + return propertyProvider.properties.value + } + // Sometimes when the value is already changed, the model is still being built. + // The when clause ensures that the current index is not updated when this happens. + when: control.model.items.length > 0 + } + + MouseArea + { + anchors.fill: parent + acceptedButtons: Qt.NoButton + onWheel: wheel.accepted = true; + } + + property string color: "#fff" + + Binding + { + // We override the color property's value when the ExtruderModel changes. So we need to use an + // explicit binding here otherwise we do not handle value changes after the model changes. + target: control + property: "color" + value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : "" + } + + style: ComboBoxStyle + { + background: Rectangle + { + color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled"); + } + if(control.hovered || control.activeFocus) + { + return UM.Theme.getColor("setting_control_highlight"); + } + return UM.Theme.getColor("setting_control"); + } + border.width: UM.Theme.getSize("default_lining").width + border.color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled_border") + } + if(control.hovered || control.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") + } + return UM.Theme.getColor("setting_control_border") + } + } + label: Item + { + Rectangle + { + id: swatch + height: UM.Theme.getSize("setting_control").height / 2 + width: height + + anchors.verticalCenter: parent.verticalCenter + + border.width: UM.Theme.getSize("default_lining").width + border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border") + + color: control.color + } + Label + { + anchors + { + left: swatch.right; + right: arrow.left; + verticalCenter: parent.verticalCenter + margins: UM.Theme.getSize("default_lining").width + } + width: parent.width - swatch.width; + + text: control.currentText + font: UM.Theme.getFont("default") + color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") + + elide: Text.ElideRight + verticalAlignment: Text.AlignVCenter + } + UM.RecolorImage + { + id: arrow + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + + source: UM.Theme.getIcon("arrow_bottom") + width: UM.Theme.getSize("standard_arrow").width + height: UM.Theme.getSize("standard_arrow").height + sourceSize.width: width + 5 + sourceSize.height: width + 5 + + color: UM.Theme.getColor("setting_control_text") + } + } + } + } +} diff --git a/resources/qml/Settings/SettingTextField.qml b/resources/qml/Settings/SettingTextField.qml index 059980bba2..2991c24d57 100644 --- a/resources/qml/Settings/SettingTextField.qml +++ b/resources/qml/Settings/SettingTextField.qml @@ -9,6 +9,7 @@ import UM 1.1 as UM SettingItem { id: base + property var focusItem: input contents: Rectangle { @@ -17,10 +18,21 @@ SettingItem anchors.fill: parent border.width: UM.Theme.getSize("default_lining").width - border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border") + border.color: + { + if(!enabled) + { + return UM.Theme.getColor("setting_control_disabled_border") + } + if(hovered || input.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") + } + return UM.Theme.getColor("setting_control_border") + } color: { - if (!enabled) + if(!enabled) { return UM.Theme.getColor("setting_control_disabled") } @@ -83,6 +95,15 @@ SettingItem verticalCenter: parent.verticalCenter } + Keys.onTabPressed: + { + base.setActiveFocusToNextSetting(true) + } + Keys.onBacktabPressed: + { + base.setActiveFocusToNextSetting(false) + } + Keys.onReleased: { propertyProvider.setPropertyValue("value", text) @@ -93,6 +114,14 @@ SettingItem propertyProvider.setPropertyValue("value", text) } + onActiveFocusChanged: + { + if(activeFocus) + { + base.focusReceived(); + } + } + color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text") font: UM.Theme.getFont("default"); diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 79314ca5cf..06e53cc03b 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -154,7 +154,7 @@ Item id: definitionsModel; containerId: Cura.MachineManager.activeDefinitionId visibilityHandler: UM.SettingPreferenceVisibilityHandler { } - exclude: ["machine_settings", "command_line_settings", "infill_mesh", "infill_mesh_order", "support_mesh", "anti_overhang_mesh"] // TODO: infill_mesh settigns are excluded hardcoded, but should be based on the fact that settable_globally, settable_per_meshgroup and settable_per_extruder are false. + exclude: ["machine_settings", "command_line_settings", "infill_mesh", "infill_mesh_order", "cutting_mesh", "support_mesh", "anti_overhang_mesh"] // TODO: infill_mesh settigns are excluded hardcoded, but should be based on the fact that settable_globally, settable_per_meshgroup and settable_per_extruder are false. expanded: CuraApplication.expandedCategories onExpandedChanged: { @@ -168,6 +168,8 @@ Item onVisibilityChanged: Cura.SettingInheritanceManager.forceUpdate() } + property var indexWithFocus: -1 + delegate: Loader { id: delegate @@ -195,7 +197,7 @@ Item //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989 //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes, //causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely. - asynchronous: model.type != "enum" && model.type != "extruder" + asynchronous: model.type != "enum" && model.type != "extruder" && model.type != "optional_extruder" active: model.type != undefined source: @@ -218,6 +220,8 @@ Item return "SettingTextField.qml" case "category": return "SettingCategory.qml" + case "optional_extruder": + return "SettingOptionalExtruder.qml" default: return "SettingUnknown.qml" } @@ -296,11 +300,53 @@ Item } Cura.SettingInheritanceManager.manualRemoveOverride(category_id) } + onFocusReceived: + { + contents.indexWithFocus = index; + animateContentY.from = contents.contentY; + contents.positionViewAtIndex(index, ListView.Contain); + animateContentY.to = contents.contentY; + animateContentY.running = true; + } + onSetActiveFocusToNextSetting: + { + if(forward == undefined || forward) + { + contents.currentIndex = contents.indexWithFocus + 1; + while(contents.currentItem && contents.currentItem.height <= 0) + { + contents.currentIndex++; + } + if(contents.currentItem) + { + contents.currentItem.item.focusItem.forceActiveFocus(); + } + } + else + { + contents.currentIndex = contents.indexWithFocus - 1; + while(contents.currentItem && contents.currentItem.height <= 0) + { + contents.currentIndex--; + } + if(contents.currentItem) + { + contents.currentItem.item.focusItem.forceActiveFocus(); + } + } + } } } UM.I18nCatalog { id: catalog; name: "cura"; } + NumberAnimation { + id: animateContentY + target: contents + property: "contentY" + duration: 50 + } + add: Transition { SequentialAnimation { NumberAnimation { properties: "height"; from: 0; duration: 100 } diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index dbb15028cb..b57b56c292 100755 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -15,24 +15,15 @@ Rectangle id: base; property int currentModeIndex; - property bool monitoringPrint: false; // When adding more "tabs", one want to replace this bool with a ListModel property bool hideSettings: PrintInformation.preSliced - Connections - { - target: Printer - onShowPrintMonitor: - { - base.monitoringPrint = show; - showSettings.checked = !show; - showMonitor.checked = show; - } - } // Is there an output device for this printer? property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands property int backendState: UM.Backend.state; + property bool monitoringPrint: false + color: UM.Theme.getColor("sidebar") UM.I18nCatalog { id: catalog; name:"cura"} @@ -88,227 +79,10 @@ Rectangle } } - // Printer selection and mode selection buttons for changing between Setting & Monitor print mode - Rectangle - { - id: sidebarHeaderBar - anchors.left: parent.left - anchors.right: parent.right - height: childrenRect.height - color: UM.Theme.getColor("sidebar_header_bar") - - Row - { - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - spacing: UM.Theme.getSize("default_margin").width - - ToolButton - { - id: machineSelection - text: Cura.MachineManager.activeMachineName - - width: parent.width - (showSettings.width + showMonitor.width + 2 * UM.Theme.getSize("default_margin").width) - height: UM.Theme.getSize("sidebar_header").height - tooltip: Cura.MachineManager.activeMachineName - - anchors.verticalCenter: parent.verticalCenter - style: ButtonStyle { - background: Rectangle { - color: { - if(control.pressed) { - return UM.Theme.getColor("sidebar_header_active"); - } else if(control.hovered) { - return UM.Theme.getColor("sidebar_header_hover"); - } else { - return UM.Theme.getColor("sidebar_header_bar"); - } - } - Behavior on color { ColorAnimation { duration: 50; } } - - Rectangle { - id: underline; - - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - height: UM.Theme.getSize("sidebar_header_highlight").height - color: UM.Theme.getColor("sidebar_header_highlight_hover") - visible: control.hovered || control.pressed - } - - UM.RecolorImage { - id: downArrow - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - width: UM.Theme.getSize("standard_arrow").width - height: UM.Theme.getSize("standard_arrow").height - sourceSize.width: width - sourceSize.height: width - color: UM.Theme.getColor("text_reversed") - source: UM.Theme.getIcon("arrow_bottom") - } - Label { - id: sidebarComboBoxLabel - color: UM.Theme.getColor("text_reversed") - text: control.text; - elide: Text.ElideRight; - anchors.left: parent.left; - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.right: downArrow.left; - anchors.rightMargin: control.rightMargin; - anchors.verticalCenter: parent.verticalCenter; - font: UM.Theme.getFont("large") - } - } - label: Label{} - } - - menu: PrinterMenu { } - } - - Button - { - id: showSettings - width: height - height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = false - iconSource: UM.Theme.getIcon("tab_settings"); - property color overlayColor: "transparent" - property string overlayIconSource: "" - - checkable: true - checked: !monitoringPrint - exclusiveGroup: sidebarHeaderBarGroup - property string tooltipText: catalog.i18nc("@tooltip", "Print Setup

Edit or review the settings for the active print job.") - - onHoveredChanged: { - if (hovered) - { - tooltipDelayTimer.item = showSettings - tooltipDelayTimer.text = tooltipText - tooltipDelayTimer.start(); - } - else - { - tooltipDelayTimer.stop(); - base.hideTooltip(); - } - } - - style: UM.Theme.styles.sidebar_header_tab - } - - Button - { - id: showMonitor - width: height - height: UM.Theme.getSize("sidebar_header").height - onClicked: monitoringPrint = true - iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") - property color overlayColor: - { - if(!printerAcceptsCommands) - { - return UM.Theme.getColor("status_unknown"); - } - - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") - { - return UM.Theme.getColor("status_busy"); - } - switch(Cura.MachineManager.printerOutputDevices[0].jobState) - { - case "printing": - case "pre_print": - case "wait_cleanup": - case "pausing": - case "resuming": - return UM.Theme.getColor("status_busy"); - case "ready": - case "": - return UM.Theme.getColor("status_ready"); - case "paused": - return UM.Theme.getColor("status_paused"); - case "error": - return UM.Theme.getColor("status_stopped"); - case "offline": - return UM.Theme.getColor("status_offline"); - default: - return UM.Theme.getColor("text_reversed"); - } - } - property string overlayIconSource: - { - if(!printerConnected) - { - return ""; - } - else if(!printerAcceptsCommands) - { - return UM.Theme.getIcon("tab_status_unknown"); - } - - if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") - { - return UM.Theme.getIcon("tab_status_busy"); - } - - switch(Cura.MachineManager.printerOutputDevices[0].jobState) - { - case "printing": - case "pre_print": - case "wait_cleanup": - case "pausing": - case "resuming": - return UM.Theme.getIcon("tab_status_busy"); - case "ready": - case "": - return UM.Theme.getIcon("tab_status_connected") - case "paused": - return UM.Theme.getIcon("tab_status_paused") - case "error": - return UM.Theme.getIcon("tab_status_stopped") - case "offline": - return UM.Theme.getIcon("tab_status_offline") - default: - return "" - } - } - - checkable: true - checked: monitoringPrint - exclusiveGroup: sidebarHeaderBarGroup - property string tooltipText: catalog.i18nc("@tooltip", "Print Monitor

Monitor the state of the connected printer and the print job in progress.") - - onHoveredChanged: { - if (hovered) - { - tooltipDelayTimer.item = showMonitor - tooltipDelayTimer.text = tooltipText - tooltipDelayTimer.start(); - } - else - { - tooltipDelayTimer.stop(); - base.hideTooltip(); - } - } - - style: UM.Theme.styles.sidebar_header_tab - } - ExclusiveGroup { id: sidebarHeaderBarGroup } - } - } - SidebarHeader { id: header width: parent.width - anchors.top: sidebarHeaderBar.bottom - onShowTooltip: base.showTooltip(item, location, text) onHideTooltip: base.hideTooltip() } @@ -468,7 +242,7 @@ Rectangle acceptedButtons: Qt.NoButton } - onClicked: + onCheckedChanged: { var index = 0; if (checked) diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index e4070c5d43..eb883d9959 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -159,10 +159,10 @@ Column visible: !extruderSelectionRow.visible } - Row + Item { id: variantRow - + height: UM.Theme.getSize("sidebar_setup").height visible: (Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials) && !sidebar.monitoringPrint && !sidebar.hideSettings @@ -177,6 +177,14 @@ Column Text { id: variantLabel + width: parent.width * 0.30 + + anchors.verticalCenter: parent.verticalCenter + anchors.left: variantRow.left + + font: UM.Theme.getFont("default"); + color: UM.Theme.getColor("text"); + text: { var label; @@ -194,16 +202,55 @@ Column } return "%1:".arg(label); } + } + Button + { + id: materialInfoButton + height: parent.height * 0.60 + width: height + + anchors.right: materialVariantContainer.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.verticalCenter: parent.verticalCenter - width: parent.width * 0.45 - UM.Theme.getSize("default_margin").width - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("text"); + + visible: extrudersList.visible + + text: "i" + style: UM.Theme.styles.info_button + + onClicked: + { + // open the material URL with web browser + var version = UM.Application.version; + var machineName = Cura.MachineManager.activeMachine.definition.id; + + var url = "https://ultimaker.com/materialcompatibility/" + version + "/" + machineName; + Qt.openUrlExternally(url); + } + + onHoveredChanged: + { + if (hovered) + { + var content = catalog.i18nc("@tooltip", "Click to check the material compatibility on Ultimaker.com."); + base.showTooltip( + extruderSelectionRow, Qt.point(0, extruderSelectionRow.height + variantRow.height / 2), catalog.i18nc("@tooltip", content) + ); + } + else + { + base.hideTooltip(); + } + } } Item { + id: materialVariantContainer + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right width: parent.width * 0.55 + UM.Theme.getSize("default_margin").width height: UM.Theme.getSize("setting_control").height diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 86185727b2..c8febad85d 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -30,6 +30,7 @@ Item id: infillCellLeft anchors.top: parent.top anchors.left: parent.left + anchors.topMargin: UM.Theme.getSize("default_margin").height width: base.width * .45 - UM.Theme.getSize("default_margin").width height: childrenRect.height @@ -47,12 +48,13 @@ Item } } - Flow + Row { id: infillCellRight height: childrenRect.height; width: base.width * .55 + spacing: UM.Theme.getSize("default_margin").width anchors.left: infillCellLeft.right @@ -63,10 +65,11 @@ Item id: infillListView property int activeIndex: { - var density = parseInt(infillDensity.properties.value) + var density = parseInt(infillDensity.properties.value); + var steps = parseInt(infillSteps.properties.value); for(var i = 0; i < infillModel.count; ++i) { - if(density > infillModel.get(i).percentageMin && density <= infillModel.get(i).percentageMax ) + if(density > infillModel.get(i).percentageMin && density <= infillModel.get(i).percentageMax && steps > infillModel.get(i).stepsMin && steps <= infillModel.get(i).stepsMax) { return i; } @@ -85,7 +88,7 @@ Item { id: infillIconLining - width: (infillCellRight.width - 3 * UM.Theme.getSize("default_margin").width) / 4; + width: (infillCellRight.width - ((infillModel.count - 1) * UM.Theme.getSize("default_margin").width)) / (infillModel.count); height: width border.color: @@ -122,7 +125,7 @@ Item { id: infillIcon anchors.fill: parent; - anchors.margins: UM.Theme.getSize("infill_button_margin").width + anchors.margins: 2 sourceSize.width: width sourceSize.height: width @@ -150,6 +153,7 @@ Item if (infillListView.activeIndex != index) { infillDensity.setPropertyValue("value", model.percentage) + infillSteps.setPropertyValue("value", model.steps) } } onEntered: @@ -165,6 +169,10 @@ Item Text { id: infillLabel + width: (infillCellRight.width - ((infillModel.count - 1) * UM.Theme.getSize("default_margin").width)) / (infillModel.count); + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + wrapMode: Text.WordWrap font: UM.Theme.getFont("default") anchors.top: infillIconLining.bottom anchors.horizontalCenter: infillIconLining.horizontalCenter @@ -181,37 +189,61 @@ Item Component.onCompleted: { infillModel.append({ - name: catalog.i18nc("@label", "Hollow"), + name: catalog.i18nc("@label", "0%"), percentage: 0, + steps: 0, percentageMin: -1, percentageMax: 0, - text: catalog.i18nc("@label", "No (0%) infill will leave your model hollow at the cost of low strength"), + stepsMin: -1, + stepsMax: 0, + text: catalog.i18nc("@label", "Empty infill will leave your model hollow with low strength."), icon: "hollow" }) infillModel.append({ - name: catalog.i18nc("@label", "Light"), + name: catalog.i18nc("@label", "20%"), percentage: 20, + steps: 0, percentageMin: 0, percentageMax: 30, - text: catalog.i18nc("@label", "Light (20%) infill will give your model an average strength"), + stepsMin: -1, + stepsMax: 0, + text: catalog.i18nc("@label", "Light (20%) infill will give your model an average strength."), icon: "sparse" }) infillModel.append({ - name: catalog.i18nc("@label", "Dense"), + name: catalog.i18nc("@label", "50%"), percentage: 50, + steps: 0, percentageMin: 30, percentageMax: 70, - text: catalog.i18nc("@label", "Dense (50%) infill will give your model an above average strength"), + stepsMin: -1, + stepsMax: 0, + text: catalog.i18nc("@label", "Dense (50%) infill will give your model an above average strength."), icon: "dense" }) infillModel.append({ - name: catalog.i18nc("@label", "Solid"), + name: catalog.i18nc("@label", "100%"), percentage: 100, + steps: 0, percentageMin: 70, - percentageMax: 100, - text: catalog.i18nc("@label", "Solid (100%) infill will make your model completely solid"), + percentageMax: 9999999999, + stepsMin: -1, + stepsMax: 0, + text: catalog.i18nc("@label", "Solid (100%) infill will make your model completely solid."), icon: "solid" }) + infillModel.append({ + name: catalog.i18nc("@label", "Gradual"), + percentage: 90, + steps: 5, + percentageMin: 0, + percentageMax: 9999999999, + stepsMin: 0, + stepsMax: 9999999999, + infill_layer_height: 1.5, + text: catalog.i18nc("@label", "Gradual infill will gradually increase the amount of infill towards the top."), + icon: "gradual" + }) } } } @@ -220,7 +252,7 @@ Item { id: helpersCell anchors.top: infillCellRight.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.topMargin: UM.Theme.getSize("default_margin").height * 2 anchors.left: parent.left anchors.right: parent.right height: childrenRect.height @@ -392,7 +424,7 @@ Item property alias _hovered: adhesionMouseArea.containsMouse anchors.top: supportExtruderCombobox.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.topMargin: UM.Theme.getSize("default_margin").height * 2 anchors.left: adhesionHelperLabel.right anchors.leftMargin: UM.Theme.getSize("default_margin").width @@ -467,7 +499,7 @@ Item { id: tipsCell anchors.top: helpersCell.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height + anchors.topMargin: UM.Theme.getSize("default_margin").height * 2 anchors.left: parent.left width: parent.width height: childrenRect.height @@ -480,7 +512,7 @@ Item anchors.rightMargin: UM.Theme.getSize("default_margin").width wrapMode: Text.WordWrap //: Tips label - text: catalog.i18nc("@label", "Need help improving your prints? Read the Ultimaker Troubleshooting Guides").arg("https://ultimaker.com/en/troubleshooting"); + text: catalog.i18nc("@label", "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides").arg("https://ultimaker.com/en/troubleshooting"); font: UM.Theme.getFont("default"); color: UM.Theme.getColor("text"); linkColor: UM.Theme.getColor("text_link") @@ -498,6 +530,16 @@ Item storeIndex: 0 } + UM.SettingPropertyProvider + { + id: infillSteps + + containerStackId: Cura.MachineManager.activeStackId + key: "gradual_infill_steps" + watchedProperties: [ "value" ] + storeIndex: 0 + } + UM.SettingPropertyProvider { id: platformAdhesionType diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index 5100a0dacb..1044bfbfcf 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -106,22 +106,13 @@ Item opacity: panel.item && panel.width > 0 ? 1 : 0 Behavior on opacity { NumberAnimation { duration: 100 } } - color: UM.Theme.getColor("lining"); + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width - UM.PointingRectangle + MouseArea //Catch all mouse events (so scene doesnt handle them) { - id: panelBackground; - - color: UM.Theme.getColor("tool_panel_background"); anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_lining").width - - target: Qt.point(-UM.Theme.getSize("default_margin").width, UM.Theme.getSize("button").height/2) - arrowSize: parent.arrowSize - MouseArea //Catch all mouse events (so scene doesnt handle them) - { - anchors.fill: parent - } } Loader diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml new file mode 100644 index 0000000000..1b5792124e --- /dev/null +++ b/resources/qml/Topbar.qml @@ -0,0 +1,216 @@ +// Copyright (c) 2017 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 +import QtQuick.Layouts 1.1 + +import UM 1.2 as UM +import Cura 1.0 as Cura +import "Menus" + +Rectangle +{ + id: base + anchors.left: parent.left + anchors.right: parent.right + height: UM.Theme.getSize("sidebar_header").height + color: UM.Theme.getColor("sidebar_header_bar") + + property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0 + property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands + property bool monitoringPrint: false + signal startMonitoringPrint() + signal stopMonitoringPrint() + UM.I18nCatalog + { + id: catalog + name:"cura" + } + + Row + { + anchors.left: parent.left + anchors.right: machineSelection.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + spacing: UM.Theme.getSize("default_margin").width + + Button + { + id: showSettings + height: UM.Theme.getSize("sidebar_header").height + onClicked: base.stopMonitoringPrint() + iconSource: UM.Theme.getIcon("tab_settings"); + property color overlayColor: "transparent" + property string overlayIconSource: "" + text: catalog.i18nc("@title:tab","Prepare") + checkable: true + checked: !base.monitoringPrint + exclusiveGroup: sidebarHeaderBarGroup + + style: UM.Theme.styles.topbar_header_tab + } + + Button + { + id: showMonitor + height: UM.Theme.getSize("sidebar_header").height + onClicked: base.startMonitoringPrint() + text: catalog.i18nc("@title:tab", "Print") + iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") + property color overlayColor: + { + if(!printerAcceptsCommands) + { + return UM.Theme.getColor("status_unknown"); + } + + if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") + { + return UM.Theme.getColor("status_busy"); + } + switch(Cura.MachineManager.printerOutputDevices[0].jobState) + { + case "printing": + case "pre_print": + case "wait_cleanup": + case "pausing": + case "resuming": + return UM.Theme.getColor("status_busy"); + case "ready": + case "": + return UM.Theme.getColor("status_ready"); + case "paused": + return UM.Theme.getColor("status_paused"); + case "error": + return UM.Theme.getColor("status_stopped"); + case "offline": + return UM.Theme.getColor("status_offline"); + default: + return UM.Theme.getColor("text_reversed"); + } + } + property string overlayIconSource: + { + if(!printerConnected) + { + return ""; + } + else if(!printerAcceptsCommands) + { + return UM.Theme.getIcon("tab_status_unknown"); + } + + if(Cura.MachineManager.printerOutputDevices[0].printerState == "maintenance") + { + return UM.Theme.getIcon("tab_status_busy"); + } + + switch(Cura.MachineManager.printerOutputDevices[0].jobState) + { + case "printing": + case "pre_print": + case "wait_cleanup": + case "pausing": + case "resuming": + return UM.Theme.getIcon("tab_status_busy"); + case "ready": + case "": + return UM.Theme.getIcon("tab_status_connected") + case "paused": + return UM.Theme.getIcon("tab_status_paused") + case "error": + return UM.Theme.getIcon("tab_status_stopped") + case "offline": + return UM.Theme.getIcon("tab_status_offline") + default: + return "" + } + } + + checkable: true + checked: base.monitoringPrint + exclusiveGroup: sidebarHeaderBarGroup + + style: UM.Theme.styles.topbar_header_tab + } + + ExclusiveGroup { id: sidebarHeaderBarGroup } + } + + ToolButton + { + id: machineSelection + text: Cura.MachineManager.activeMachineName + + width: UM.Theme.getSize("sidebar").width; + height: UM.Theme.getSize("sidebar_header").height + tooltip: Cura.MachineManager.activeMachineName + + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + style: ButtonStyle + { + background: Rectangle + { + color: + { + if(control.pressed) + { + return UM.Theme.getColor("sidebar_header_active"); + } else if(control.hovered) + { + return UM.Theme.getColor("sidebar_header_hover"); + } else + { + return UM.Theme.getColor("sidebar_header_bar"); + } + } + Behavior on color { ColorAnimation { duration: 50; } } + + Rectangle + { + id: underline; + + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: UM.Theme.getSize("sidebar_header_highlight").height + color: UM.Theme.getColor("sidebar_header_highlight_hover") + visible: control.hovered || control.pressed + } + + UM.RecolorImage + { + id: downArrow + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: UM.Theme.getSize("default_margin").width + width: UM.Theme.getSize("standard_arrow").width + height: UM.Theme.getSize("standard_arrow").height + sourceSize.width: width + sourceSize.height: width + color: UM.Theme.getColor("text_reversed") + source: UM.Theme.getIcon("arrow_bottom") + } + Label + { + id: sidebarComboBoxLabel + color: UM.Theme.getColor("text_reversed") + text: control.text; + elide: Text.ElideRight; + anchors.left: parent.left; + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: downArrow.left; + anchors.rightMargin: control.rightMargin; + anchors.verticalCenter: parent.verticalCenter; + font: UM.Theme.getFont("large") + } + } + label: Label {} + } + + menu: PrinterMenu { } + } +} diff --git a/resources/qml/WorkspaceSummaryDialog.qml b/resources/qml/WorkspaceSummaryDialog.qml index 7da8495da0..3a66d04625 100644 --- a/resources/qml/WorkspaceSummaryDialog.qml +++ b/resources/qml/WorkspaceSummaryDialog.qml @@ -13,13 +13,10 @@ UM.Dialog { title: catalog.i18nc("@title:window", "Save Project") - width: 550 * Screen.devicePixelRatio - minimumWidth: 550 * Screen.devicePixelRatio + width: 500 + height: 400 - height: 350 * Screen.devicePixelRatio - minimumHeight: 350 * Screen.devicePixelRatio - - property int spacerHeight: 10 * Screen.devicePixelRatio + property int spacerHeight: 10 property bool dontShowAgain: true @@ -42,7 +39,6 @@ UM.Dialog Item { anchors.fill: parent - anchors.margins: 20 * Screen.devicePixelRatio UM.SettingDefinitionsModel { @@ -232,42 +228,43 @@ UM.Dialog height: spacerHeight width: height } - - CheckBox - { - id: dontShowAgainCheckbox - text: catalog.i18nc("@action:label", "Don't show project summary on save again") - checked: dontShowAgain - } } + CheckBox + { + id: dontShowAgainCheckbox + anchors.bottom: parent.bottom + anchors.left: parent.left + + text: catalog.i18nc("@action:label", "Don't show project summary on save again") + checked: dontShowAgain + } + + Button + { + id: cancel_button + anchors.bottom: parent.bottom + anchors.right: ok_button.left + anchors.rightMargin: 2 + + text: catalog.i18nc("@action:button","Cancel"); + enabled: true + onClicked: close() + } + Button { id: ok_button + anchors.bottom: parent.bottom + anchors.right: parent.right + text: catalog.i18nc("@action:button","Save"); enabled: true onClicked: { close() yes() } - anchors.bottomMargin: - 0.5 * height - anchors.bottom: parent.bottom - anchors.right: parent.right - } - - Button - { - id: cancel_button - text: catalog.i18nc("@action:button","Cancel"); - enabled: true - onClicked: close() - - anchors.bottom: parent.bottom - anchors.right: ok_button.left - anchors.bottomMargin: - 0.5 * height - anchors.rightMargin:2 - } } } \ No newline at end of file diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index 7f3bf240ac..b002ef1e4d 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index be93de160e..38036404d9 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = High Quality -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index a116ff4485..02d564e8cb 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_pri3 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri3 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index 4bfb02fe77..23baec151b 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index 4c89f5cf28..d7996f9578 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = High Quality -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index fc11c5af19..a0cc6dc00c 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_pri5 - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_pri5 + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 63189c1ed1..2208ad2fb5 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_titan - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_titan + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 80 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index 7d6f8bb3d7..91a3bffea6 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -1,21 +1,21 @@ - -[general] -version = 2 -name = High Quality -definition = abax_titan -[metadata] -type = quality -material = generic_pla -weight = 1 -quality_type = high - -[values] -layer_height = 0.1 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Extra Fine +definition = abax_titan +[metadata] +type = quality +material = generic_pla +weight = 1 +quality_type = high +setting_version = 2 + +[values] +layer_height = 0.1 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 6de6a1df32..4ff47e9c65 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -1,22 +1,22 @@ - -[general] -version = 2 -name = Normal Quality -definition = abax_titan - -[metadata] -type = quality -material = generic_pla -weight = 0 -quality_type = normal - -[values] -layer_height = 0.2 -wall_thickness = 1.05 -top_bottom_thickness = 0.8 -infill_sparse_density = 20 -speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) -speed_topbottom = 20 -cool_min_layer_time = 5 +[general] +version = 2 +name = Fine +definition = abax_titan + +[metadata] +type = quality +material = generic_pla +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +layer_height = 0.2 +wall_thickness = 1.05 +top_bottom_thickness = 0.8 +infill_sparse_density = 20 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 cool_min_speed = 10 \ No newline at end of file diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg index c26f4a2683..f6f461f73d 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_abs_cartesio_0.25_mm +material = generic_abs_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg index a7c5677980..a86f734c8a 100644 --- a/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.25_abs_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_abs_cartesio_0.25_mm +material = generic_abs_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg index 1287d66e33..53e36c4a88 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_abs_cartesio_0.4_mm +material = generic_abs_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg index 62c4e462e7..1422663537 100644 --- a/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.4_abs_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_abs_cartesio_0.4_mm +material = generic_abs_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg index 4ae04132dc..edd337bb88 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_abs_cartesio_0.8_mm +material = generic_abs_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg index 836c2f8458..78493a273b 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_abs_cartesio_0.8_mm +material = generic_abs_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg index f8e6fac996..0b7d6dd8d8 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_abs_cartesio_0.8_mm +material = generic_abs_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg index 7aade0c846..393a419cdc 100644 --- a/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg +++ b/resources/quality/cartesio/abs/cartesio_0.8_abs_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_abs_cartesio_0.8_mm +material = generic_abs_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg new file mode 100644 index 0000000000..7595ae104e --- /dev/null +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_high.inst.cfg @@ -0,0 +1,62 @@ +[general] +version = 2 +name = High +definition = cartesio + +[metadata] +type = quality +quality_type = high +material = dsm_arnitel2045_175_cartesio_0.4_mm +weight = 1 +setting_version = 2 + +[values] +infill_line_width = 0.5 + +wall_thickness = 1.2 +top_bottom_thickness = 0.8 +wall_0_inset = -0.05 +fill_perimeter_gaps = nowhere +travel_compensate_overlapping_walls_enabled = + +infill_sparse_density = 40 +infill_pattern = grid + +material_print_temperature_layer_0 = =material_print_temperature + 5 +material_initial_print_temperature = =material_print_temperature +material_final_print_temperature = =material_print_temperature +retraction_min_travel = =round(line_width * 10) +retraction_prime_speed = 2 +switch_extruder_retraction_amount = 2 +switch_extruder_retraction_speeds = =retraction_speed +switch_extruder_prime_speed = =retraction_prime_speed + +speed_print = 25 +speed_infill = =speed_print +speed_layer_0 = =round(speed_print / 5 * 4) +speed_wall = =round(speed_print / 2) +speed_wall_0 = =10 if speed_wall < 11 else 15 +speed_topbottom = =round(speed_print / 5 * 4) +speed_travel = =round(speed_print if magic_spiralize else 150) +speed_travel_layer_0 = =speed_travel +speed_support_interface = =speed_topbottom +speed_equalize_flow_enabled = True +speed_equalize_flow_max = =speed_print + +acceleration_enabled = True +acceleration_print = 100 +jerk_enabled = True +jerk_print = 5 + +retraction_hop_enabled = True +retraction_hop = 1 + +cool_min_layer_time_fan_speed_max = =cool_min_layer_time +cool_min_layer_time = 20 + +skirt_brim_minimal_length = 50 + +coasting_enable = True +coasting_volume = 0.1 +coasting_min_volume = 0.17 +coasting_speed = 90 diff --git a/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg new file mode 100644 index 0000000000..f899082e9c --- /dev/null +++ b/resources/quality/cartesio/arnitel/cartesio_0.4_arnitel2045_normal.inst.cfg @@ -0,0 +1,62 @@ +[general] +version = 2 +name = Normal +definition = cartesio + +[metadata] +type = quality +quality_type = normal +material = dsm_arnitel2045_175_cartesio_0.4_mm +weight = 2 +setting_version = 2 + +[values] +infill_line_width = 0.5 + +wall_thickness = 1.2 +top_bottom_thickness = 0.8 +wall_0_inset = -0.05 +fill_perimeter_gaps = nowhere +travel_compensate_overlapping_walls_enabled = + +infill_sparse_density = 40 +infill_pattern = grid + +material_print_temperature_layer_0 = =material_print_temperature + 5 +material_initial_print_temperature = =material_print_temperature +material_final_print_temperature = =material_print_temperature +retraction_min_travel = =round(line_width * 10) +retraction_prime_speed = 2 +switch_extruder_retraction_amount = 2 +switch_extruder_retraction_speeds = =retraction_speed +switch_extruder_prime_speed = =retraction_prime_speed + +speed_print = 25 +speed_infill = =speed_print +speed_layer_0 = =round(speed_print / 5 * 4) +speed_wall = =round(speed_print / 2) +speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_topbottom = =round(speed_print / 5 * 4) +speed_travel = =round(speed_print if magic_spiralize else 150) +speed_travel_layer_0 = =speed_travel +speed_support_interface = =speed_topbottom +speed_equalize_flow_enabled = True +speed_equalize_flow_max = =speed_print + +acceleration_enabled = True +acceleration_print = 100 +jerk_enabled = True +jerk_print = 5 + +retraction_hop_enabled = True +retraction_hop = 1 + +cool_min_layer_time_fan_speed_max = =cool_min_layer_time +cool_min_layer_time = 20 + +skirt_brim_minimal_length = 50 + +coasting_enable = True +coasting_volume = 0.1 +coasting_min_volume = 0.17 +coasting_speed = 90 diff --git a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg index 1d6f7bb930..f44b33b1d1 100644 --- a/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Coarse_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] @@ -8,18 +8,30 @@ type = quality quality_type = coarse global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.4 +layer_height_0 = =layer_height + +skin_angles = [0,90] + +infill_before_walls = False +infill_angles = [0,90] speed_slowdown_layers = 1 +acceleration_print = 300 +acceleration_travel = 300 +jerk_print = 10 +jerk_travel = 10 retraction_combing = off support_z_distance = 0 -support_xy_distance = 0.5 +support_xy_distance = 1 support_join_distance = 10 support_interface_enable = True +support_interface_pattern = lines adhesion_type = skirt -skirt_gap = 0.5 +skirt_gap = 1 diff --git a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg index 841d63d1dc..6b0a379eb2 100644 --- a/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Extra_Coarse_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] @@ -8,18 +8,30 @@ type = quality quality_type = extra coarse global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.6 +layer_height_0 = =layer_height + +skin_angles = [0,90] + +infill_before_walls = False +infill_angles = [0,90] speed_slowdown_layers = 1 +acceleration_print = 300 +acceleration_travel = 300 +jerk_print = 10 +jerk_travel = 10 retraction_combing = off support_z_distance = 0 -support_xy_distance = 0.5 +support_xy_distance = 1 support_join_distance = 10 support_interface_enable = True +support_interface_pattern = lines adhesion_type = skirt -skirt_gap = 0.5 +skirt_gap = 1 diff --git a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg index 363c18d8a2..944f8a1d97 100644 --- a/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] @@ -8,18 +8,31 @@ type = quality quality_type = high global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.1 +layer_height_0 = =0.2 if min(extruderValues('machine_nozzle_size')) < 0.3 else 0.3 + +skin_angles = [0,90] + +infill_before_walls = False +infill_angles = [0,90] speed_slowdown_layers = 1 +acceleration_print = 300 +acceleration_travel = 300 +jerk_print = 10 +jerk_travel = 10 retraction_combing = off support_z_distance = 0 -support_xy_distance = 0.5 +support_xy_distance = 1 support_join_distance = 10 support_interface_enable = True +support_interface_height = 0.5 +support_interface_pattern = lines adhesion_type = skirt -skirt_gap = 0.5 +skirt_gap = 1 diff --git a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg index 78272e2aef..c0d1a301f3 100644 --- a/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg +++ b/resources/quality/cartesio/cartesio_global_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] @@ -8,18 +8,30 @@ type = quality quality_type = normal global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.2 +layer_height_0 = =0.2 if min(extruderValues('machine_nozzle_size')) < 0.3 else 0.3 + +skin_angles = [0,90] + +infill_before_walls = False +infill_angles = [0,90] speed_slowdown_layers = 1 +acceleration_print = 300 +acceleration_travel = 300 +jerk_print = 10 +jerk_travel = 10 retraction_combing = off support_z_distance = 0 -support_xy_distance = 0.5 +support_xy_distance = 1 support_join_distance = 10 support_interface_enable = True +support_interface_pattern = lines adhesion_type = skirt -skirt_gap = 0.5 +skirt_gap = 1 diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg index 1457945bdb..24610a3332 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_hips_cartesio_0.25_mm +material = generic_hips_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg index ac324cf42c..af419719b1 100644 --- a/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.25_hips_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_hips_cartesio_0.25_mm +material = generic_hips_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg index 4f95cd2b8b..cfc9c0e331 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_hips_cartesio_0.4_mm +material = generic_hips_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg index ac4de67c0c..e26fcaa037 100644 --- a/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.4_hips_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_hips_cartesio_0.4_mm +material = generic_hips_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg index beff6ec6f6..d7d1d8aa4d 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_hips_cartesio_0.8_mm +material = generic_hips_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg index ea8edbbdfe..68c282fd7d 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_hips_cartesio_0.8_mm +material = generic_hips_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg index 13f139f596..33289e0cf2 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_hips_cartesio_0.8_mm +material = generic_hips_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg index 06b45cd601..1388e9bee1 100644 --- a/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg +++ b/resources/quality/cartesio/hips/cartesio_0.8_hips_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_hips_cartesio_0.8_mm +material = generic_hips_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg index 569c5a786f..f592894188 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_nylon_cartesio_0.25_mm +material = generic_nylon_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg index 7ac13e4d60..73c1d7010b 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.25_nylon_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_nylon_cartesio_0.25_mm +material = generic_nylon_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg index d294820c39..8108a48c53 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_nylon_cartesio_0.4_mm +material = generic_nylon_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg index dd37e5f46a..89114b1a79 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.4_nylon_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_nylon_cartesio_0.4_mm +material = generic_nylon_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg index 5d303731d9..5a35735d11 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_nylon_cartesio_0.8_mm +material = generic_nylon_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg index 9d015d71bb..4a20f2e0e7 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_nylon_cartesio_0.8_mm +material = generic_nylon_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg index 324149f527..15e3834090 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_nylon_cartesio_0.8_mm +material = generic_nylon_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg index b7e9920fac..34c0d66899 100644 --- a/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg +++ b/resources/quality/cartesio/nylon/cartesio_0.8_nylon_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_nylon_cartesio_0.8_mm +material = generic_nylon_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg index 224b4383f0..3de6c83fb8 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pc_cartesio_0.25_mm +material = generic_pc_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg index e3ab6f83d9..0361b789ba 100644 --- a/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.25_pc_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pc_cartesio_0.25_mm +material = generic_pc_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg index 213b94bfaa..94b3fe9278 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pc_cartesio_0.4_mm +material = generic_pc_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg index 8c258630e1..11723cc92b 100644 --- a/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.4_pc_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pc_cartesio_0.4_mm +material = generic_pc_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg index 8f29b3a679..070f73fa0e 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_pc_cartesio_0.8_mm +material = generic_pc_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg index f8238c28b5..26662accf5 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_pc_cartesio_0.8_mm +material = generic_pc_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg index ca1acf1e59..64a137abf5 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pc_cartesio_0.8_mm +material = generic_pc_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg index 54e2f3a8b8..a30c4ea884 100644 --- a/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg +++ b/resources/quality/cartesio/pc/cartesio_0.8_pc_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pc_cartesio_0.8_mm +material = generic_pc_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg index 324ff40497..b8d2da9500 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_petg_cartesio_0.25_mm +material = generic_petg_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg index 55a04548bc..11e55362ae 100644 --- a/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.25_petg_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_petg_cartesio_0.25_mm +material = generic_petg_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg index c6e759c87b..85560ff953 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_petg_cartesio_0.4_mm +material = generic_petg_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg index 1ad1cc9f5d..d1fa4d40ca 100644 --- a/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.4_petg_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_petg_cartesio_0.4_mm +material = generic_petg_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg index 3df1647d57..f728848461 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_petg_cartesio_0.8_mm +material = generic_petg_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg index 99a3659e18..851b893a96 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_petg_cartesio_0.8_mm +material = generic_petg_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg index 8fc6fc8398..9c9aa56dab 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_petg_cartesio_0.8_mm +material = generic_petg_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -18,13 +19,12 @@ wall_0_inset = -0.05 fill_perimeter_gaps = nowhere travel_compensate_overlapping_walls_enabled = -infill_sparse_density = 40 +infill_sparse_density = 50 infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg index 05805e41d7..2e7d86c378 100644 --- a/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg +++ b/resources/quality/cartesio/petg/cartesio_0.8_petg_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_petg_cartesio_0.8_mm +material = generic_petg_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg index 3eac407634..5f53ffe133 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pla_cartesio_0.25_mm +material = generic_pla_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg index ac82dddf8a..311d287cdc 100644 --- a/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.25_pla_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pla_cartesio_0.25_mm +material = generic_pla_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg index bdb6ace957..e73581cdd6 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pla_cartesio_0.4_mm +material = generic_pla_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg index ca02ffc4a2..dfa47d2ebb 100644 --- a/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.4_pla_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pla_cartesio_0.4_mm +material = generic_pla_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg index 5a9e561177..a17454ba87 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_pla_cartesio_0.8_mm +material = generic_pla_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg index 4ac73a3ce0..3f4db2d40a 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_pla_cartesio_0.8_mm +material = generic_pla_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg index 582735062b..5de8fd3aa8 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pla_cartesio_0.8_mm +material = generic_pla_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg index f77e2ade8c..1071a139f9 100644 --- a/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg +++ b/resources/quality/cartesio/pla/cartesio_0.8_pla_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pla_cartesio_0.8_mm +material = generic_pla_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 10 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg index 73b434365e..222a3d7438 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pva_cartesio_0.25_mm +material = generic_pva_175_cartesio_0.25_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg index 1415954e6c..e074b1f1b7 100644 --- a/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.25_pva_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pva_cartesio_0.25_mm +material = generic_pva_175_cartesio_0.25_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.3 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg index 97e48f8c7d..a0df1df247 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pva_cartesio_0.4_mm +material = generic_pva_175_cartesio_0.4_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg index f0231084db..1e69f794a8 100644 --- a/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.4_pva_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pva_cartesio_0.4_mm +material = generic_pva_175_cartesio_0.4_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.5 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg index a9c313a7db..2ac1aff331 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Coarse Quality +name = Coarse definition = cartesio [metadata] type = quality quality_type = coarse -material = generic_pva_cartesio_0.8_mm +material = generic_pva_175_cartesio_0.8_mm weight = 3 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg index 2a2e2c9d0e..14602d4e95 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_extra_coarse.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Extra Coarse Quality +name = Extra Coarse definition = cartesio [metadata] type = quality quality_type = extra coarse -material = generic_pva_cartesio_0.8_mm +material = generic_pva_175_cartesio_0.8_mm weight = 4 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg index 64e8ee2902..b21d8b85f6 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_high.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = High Quality +name = High definition = cartesio [metadata] type = quality quality_type = high -material = generic_pva_cartesio_0.8_mm +material = generic_pva_175_cartesio_0.8_mm weight = 1 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -35,9 +35,8 @@ speed_print = 50 speed_infill = =speed_print speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) -speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_wall_0 = =10 if speed_wall < 11 else 15 speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg index 23fa682772..61eb2f89d9 100644 --- a/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg +++ b/resources/quality/cartesio/pva/cartesio_0.8_pva_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Normal Quality +name = Normal definition = cartesio [metadata] type = quality quality_type = normal -material = generic_pva_cartesio_0.8_mm +material = generic_pva_175_cartesio_0.8_mm weight = 2 +setting_version = 2 [values] infill_line_width = 0.9 @@ -24,7 +25,6 @@ infill_pattern = grid material_print_temperature_layer_0 = =material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature material_final_print_temperature = =material_print_temperature -material_diameter = 1.75 retraction_min_travel = =round(line_width * 10) retraction_prime_speed = 8 switch_extruder_retraction_amount = 2 @@ -37,7 +37,6 @@ speed_layer_0 = =round(speed_print / 5 * 4) speed_wall = =round(speed_print / 2) speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) speed_topbottom = =round(speed_print / 5 * 4) -speed_slowdown_layers = 1 speed_travel = =round(speed_print if magic_spiralize else 150) speed_travel_layer_0 = =speed_travel speed_support_interface = =speed_topbottom diff --git a/resources/quality/coarse.inst.cfg b/resources/quality/coarse.inst.cfg index 94612afcc0..bdeda58626 100644 --- a/resources/quality/coarse.inst.cfg +++ b/resources/quality/coarse.inst.cfg @@ -8,6 +8,7 @@ type = quality quality_type = coarse global_quality = True weight = -3 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/draft.inst.cfg b/resources/quality/draft.inst.cfg index 134626365f..15df2f2f08 100644 --- a/resources/quality/draft.inst.cfg +++ b/resources/quality/draft.inst.cfg @@ -9,6 +9,7 @@ type = quality quality_type = draft global_quality = True weight = -2 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/extra_coarse.inst.cfg b/resources/quality/extra_coarse.inst.cfg index 1462464b59..921cfbb981 100644 --- a/resources/quality/extra_coarse.inst.cfg +++ b/resources/quality/extra_coarse.inst.cfg @@ -8,6 +8,7 @@ type = quality quality_type = Extra coarse global_quality = True weight = -4 +setting_version = 2 [values] layer_height = 0.6 diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index 921dae9ae0..695d500198 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = fdmprinter [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high global_quality = True weight = 1 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg index cd1356cf3c..2c0dc434ee 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg index a0ad58711f..f9327873dd 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_coarse_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg index 5a51c3059f..16ec2d9f1e 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg index c85b4f74d0..3302402233 100644 --- a/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_petg_0.4_medium_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_petg_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg index fb21ef1b9f..8ed78edfed 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg index a382d98b6e..845f03873d 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_coarse_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = -1 quality_type = fast +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg index cba83980df..b587b64fef 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 1 quality_type = high +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg index e26c1406fb..c4a4b4f465 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_fine_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 1 quality_type = high +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg index 59506db09a..7f2c4ce316 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg index 785941fbca..43bb14577b 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_medium_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 0 quality_type = normal +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg index 737d1acf59..253a3a2dc3 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm weight = 2 quality_type = ultrahigh +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg index 5a5a0c96dc..8152b9a0c8 100644 --- a/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg +++ b/resources/quality/imade3d_jellybox/generic_pla_0.4_ultrafine_2-fans.inst.cfg @@ -8,6 +8,7 @@ type = quality material = generic_pla_imade3d_jellybox_0.4_mm_2-fans weight = 2 quality_type = ultrahigh +setting_version = 2 [values] adhesion_type = skirt diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index 82d4e0d327..466d741d5f 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -8,6 +8,7 @@ type = quality quality_type = low global_quality = True weight = -1 +setting_version = 2 [values] infill_sparse_density = 10 diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index 26da3b48da..0b4cec96d9 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = fdmprinter [metadata] @@ -8,5 +8,6 @@ type = quality quality_type = normal global_quality = True weight = 0 +setting_version = 2 [values] diff --git a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg index 27848d4301..d5e02e6c71 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_high.inst.cfg @@ -1,12 +1,13 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = peopoly_moai [metadata] type = quality weight = 1 quality_type = high +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg index 253070569f..a3c4913e5f 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_max.inst.cfg @@ -7,6 +7,7 @@ definition = peopoly_moai type = quality weight = 2 quality_type = extra_high +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg index c4ff8360fa..a9c52b0c27 100644 --- a/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg +++ b/resources/quality/peopoly_moai/peopoly_moai_normal.inst.cfg @@ -1,12 +1,13 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = peopoly_moai [metadata] type = quality weight = 0 quality_type = normal +setting_version = 2 [values] infill_sparse_density = 70 diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index db2b48b3cc..1a7bbc79a9 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.25_mm weight = 1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index d3f2740202..4618a37d2f 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index d3347b4712..e5239e9a46 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 758225535a..2b4a47b99c 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pla_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index 5eed5965e4..b6b2f1392f 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ material = generic_pla_ultimaker2_plus_0.6_mm type = quality weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index 96a81d874e..23616e6b39 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ material = generic_pla_ultimaker2_plus_0.8_mm type = quality weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index cd99fc0f8a..20fa84d691 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.25_mm weight = 1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index e52a201789..88eed9f9e8 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index 4cbe9f4b88..3af57d6a09 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index 3cfa744787..ca57521636 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 848441de61..b9232c850c 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 20a35f157f..b3c4ed84c1 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_abs_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index 29f1577d12..c8f82ea938 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.25_mm weight = -1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index edba5d2c79..e3bb676205 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index a2442e6c96..73c613fd85 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 1 quality_type = high +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 4993e97bb0..fa708fea78 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index ceaf31e153..268fb9571f 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index f81e931218..585680b387 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_ultimaker2_plus_0.8_mm weight = -1 quality_type = fast +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 294db7c10d..25e1190d16 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = -2 quality_type = draft +setting_version = 2 [values] speed_wall_x = 25 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index 91059f94b3..f0dab0b80b 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index 6d1cb47835..09f540395b 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = -2 quality_type = draft +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index 1dbe3a56c8..055177e14e 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 1b92686d50..795867c59c 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index 30746a1ac2..a40b30730d 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_cpe_plus_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index fea97a2621..569ddb69bf 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 1 quality_type = high +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index 56be2489a5..740205d102 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 80948add53..143f8c1a71 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index 8385b3f895..d406a8fa7f 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.6 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index d9e393b778..f3f9fddfbe 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast +setting_version = 2 [values] support_xy_distance = 0.7 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index e438dca035..6810970eb5 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.7 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index 575109e588..aaba4b8a50 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft +setting_version = 2 [values] support_xy_distance = 0.75 diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index abd8f499bc..fae14c8266 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_nylon_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.75 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index 06f67b7298..97b5446d10 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 1 quality_type = high +setting_version = 2 [values] support_z_distance = 0.19 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index be595385a4..57101394b3 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.25_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_z_distance = 0.19 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index f20351cbb4..334ca6fde2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = -1 quality_type = fast +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index 469cab12cc..0d815cfdc3 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] speed_wall_x = 30 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index bfd239e3cc..0e5cacbeac 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast +setting_version = 2 [values] speed_travel = 150 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index bf65d1b8aa..3c7f0ef212 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.6_mm weight = 0 quality_type = normal +setting_version = 2 [values] speed_travel = 150 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 53fab6b028..280dafa128 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = -2 quality_type = draft +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index 9d79bf9faa..e79d3339f2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_pc_ultimaker2_plus_0.8_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_z_distance = 0.26 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg old mode 100755 new mode 100644 similarity index 57% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg index 68b694b922..0aa08a65b8 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.25_normal.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 name = Not Supported -definition = ultimaker3 +definition = ultimaker2_plus [metadata] type = quality -quality_type = normal -material = generic_cpe_plus_ultimaker3_AA_0.8 +material = generic_pp_ultimaker2_plus_0.25_mm weight = 0 +quality_type = normal +setting_version = 2 supported = False [values] diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg new file mode 100644 index 0000000000..558e314581 --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_fast.inst.cfg @@ -0,0 +1,73 @@ +[general] +version = 2 +name = Normal +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.4_mm +weight = -1 +quality_type = fast +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.4 / 0.38, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +layer_height = 0.15 +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.38 / 0.38, 2) +wall_thickness = 0.76 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg new file mode 100644 index 0000000000..668899184f --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.4_normal.inst.cfg @@ -0,0 +1,72 @@ +[general] +version = 2 +name = Fine +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.4_mm +weight = 0 +quality_type = normal +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.4 / 0.38, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.38 / 0.38, 2) +wall_thickness = 0.76 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg new file mode 100644 index 0000000000..f3db281962 --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_draft.inst.cfg @@ -0,0 +1,75 @@ +[general] +version = 2 +name = Fast +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.6_mm +weight = -2 +quality_type = draft +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.6 / 0.57, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +layer_height = 0.2 +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +skirt_brim_line_width = 0.6 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1.1 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.57 / 0.57, 2) +wall_thickness = 1.14 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg new file mode 100644 index 0000000000..ffefbcf4c7 --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.6_fast.inst.cfg @@ -0,0 +1,75 @@ +[general] +version = 2 +name = Normal +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.6_mm +weight = -1 +quality_type = fast +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.6 / 0.57, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +layer_height = 0.15 +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +skirt_brim_line_width = 0.6 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1.1 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.57 / 0.57, 2) +wall_thickness = 1.14 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg new file mode 100644 index 0000000000..380c54cbc4 --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_draft.inst.cfg @@ -0,0 +1,75 @@ +[general] +version = 2 +name = Fast +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.8_mm +weight = -2 +quality_type = fast +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.8 / 0.76, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +layer_height = 0.2 +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +skirt_brim_line_width = 0.8 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1.5 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.76 / 0.76, 2) +wall_thickness = 1.52 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg new file mode 100644 index 0000000000..84a95eab17 --- /dev/null +++ b/resources/quality/ultimaker2_plus/um2p_pp_0.8_verydraft.inst.cfg @@ -0,0 +1,75 @@ +[general] +version = 2 +name = Extra Fast +definition = ultimaker2_plus + +[metadata] +type = quality +material = generic_pp_ultimaker2_plus_0.8_mm +weight = -3 +quality_type = draft +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_layer_0 = =acceleration_topbottom +acceleration_prime_tower = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_print = 4000 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =acceleration_topbottom +acceleration_topbottom = =math.ceil(acceleration_print * 500 / 4000) +acceleration_wall = =math.ceil(acceleration_print * 1000 / 4000) +acceleration_wall_0 = =math.ceil(acceleration_wall * 500 / 1000) +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + 4 * layer_height +cool_fan_speed_max = 100 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 20 +infill_line_width = =round(line_width * 0.8 / 0.76, 2) +infill_overlap = 0 +infill_pattern = cubic +infill_wipe_dist = 0 +jerk_enabled = True +jerk_layer_0 = =jerk_topbottom +jerk_prime_tower = =math.ceil(jerk_print * 15 / 25) +jerk_print = 25 +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =jerk_topbottom +jerk_topbottom = =math.ceil(jerk_print * 5 / 25) +jerk_wall = =math.ceil(jerk_print * 10 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 5 / 10) +layer_height = 0.3 +line_width = =machine_nozzle_size * 0.95 +multiple_mesh_overlap = 0 +retraction_count_max = 12 +retraction_extrusion_window = 1 +retraction_hop = 0.15 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.5 +retraction_prime_speed = 15 +skin_overlap = 10 +skirt_brim_line_width = 0.8 +speed_layer_0 = 25 +speed_prime_tower = =speed_topbottom +speed_print = 25 +speed_support_interface = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 250 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 20 / 25) +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_xy_distance = =wall_line_width_0 * 2.5 +support_xy_distance_overhang = =wall_line_width_0 +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1.5 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.76 / 0.76, 2) +wall_thickness = 1.52 \ No newline at end of file diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 5c37a8432a..afa7c89fd5 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.25_mm weight = 1 quality_type = high +setting_version = 2 [values] support_xy_distance = 0.6 @@ -30,7 +31,7 @@ infill_sparse_density = 10 cool_fan_speed = 60 speed_travel = 150 speed_support = 40 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 cool_fan_speed_min = =cool_fan_speed * 35 / 60 brim_line_count = 8 retraction_hop_enabled = 0.2 diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 106476d57c..205cc25285 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker2_plus [metadata] @@ -8,11 +8,12 @@ type = quality material = generic_tpu_ultimaker2_plus_0.4_mm weight = 0 quality_type = normal +setting_version = 2 [values] support_xy_distance = 0.65 speed_travel = 150 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 speed_wall_x = 35 cool_min_speed = 15 cool_fan_speed = 60 @@ -36,4 +37,3 @@ speed_print = 40 support_angle = 45 cool_min_layer_time = 10 raft_base_line_width = 0.8 - diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index e0a0388227..ab696e84bb 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker2_plus [metadata] @@ -8,6 +8,7 @@ type = quality material = generic_tpu_ultimaker2_plus_0.6_mm weight = -1 quality_type = fast +setting_version = 2 [values] support_xy_distance = 0.7 @@ -32,7 +33,7 @@ support_angle = 45 infill_sparse_density = 10 cool_fan_speed = 60 speed_support = 40 -support_z_distance = 0.45 +support_z_distance = =layer_height * 2 cool_fan_speed_min = =cool_fan_speed * 35 / 60 brim_line_count = 8 retraction_hop_enabled = 0.2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index 00d93f3575..e9a2667261 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 @@ -15,7 +16,7 @@ machine_nozzle_heat_up_speed = 1.5 material_print_temperature = =default_material_print_temperature + 10 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 -prime_tower_size = 16 +prime_tower_enable = False skin_overlap = 20 speed_print = 60 speed_layer_0 = 20 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index 066a044ee0..96099347bd 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_abs_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] cool_min_speed = 7 @@ -17,7 +18,7 @@ material_print_temperature = =default_material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 16 +prime_tower_enable = False speed_print = 60 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 60) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 850af33c27..47c3602277 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high material = generic_abs_ultimaker3_AA_0.4 weight = 1 +setting_version = 2 [values] cool_min_speed = 12 @@ -17,7 +18,7 @@ material_standby_temperature = 100 material_print_temperature = =default_material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 -prime_tower_size = 16 +prime_tower_enable = False speed_print = 50 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index 3793bf8b5e..dcb29b48c6 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 @@ -15,7 +16,7 @@ machine_nozzle_heat_up_speed = 1.5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 16 +prime_tower_enable = False speed_print = 55 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 55) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index ee03b6dbcf..2ae57b6333 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] acceleration_enabled = True @@ -29,7 +30,6 @@ material_print_temperature_layer_0 = =material_print_temperature material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True -prime_tower_size = 17 prime_tower_wipe_enabled = True retraction_combing = off retraction_extrusion_window = 1 @@ -45,6 +45,5 @@ speed_wall = =math.ceil(speed_print * 50 / 50) speed_wall_0 = =math.ceil(speed_wall * 40 / 50) support_bottom_distance = =support_z_distance support_z_distance = =layer_height -travel_avoid_distance = 3 wall_0_inset = 0 wall_thickness = 1 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index b61a7ee9de..6fbc466b61 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_cpe_plus_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] acceleration_enabled = True @@ -29,7 +30,6 @@ material_print_temperature_layer_0 = =material_print_temperature material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True -prime_tower_size = 17 prime_tower_wipe_enabled = True retraction_combing = off retraction_extrusion_window = 1 @@ -45,5 +45,4 @@ speed_wall = =math.ceil(speed_print * 45 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) support_bottom_distance = =support_z_distance support_z_distance = =layer_height -travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 1507de5a6b..58719ca037 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 1 +setting_version = 2 [values] acceleration_enabled = True @@ -31,7 +32,6 @@ material_print_temperature_layer_0 = =material_print_temperature material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True -prime_tower_size = 17 prime_tower_wipe_enabled = True retraction_combing = off retraction_extrusion_window = 1 @@ -47,5 +47,4 @@ speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) support_bottom_distance = =support_z_distance support_z_distance = =layer_height -travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index 88090b12cd..89dc4e5df5 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] acceleration_enabled = True @@ -30,7 +31,6 @@ material_print_temperature_layer_0 = =material_print_temperature material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = True -prime_tower_size = 17 prime_tower_wipe_enabled = True retraction_combing = off retraction_extrusion_window = 1 @@ -46,5 +46,4 @@ speed_wall = =math.ceil(speed_print * 35 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 35) support_bottom_distance = =support_z_distance support_z_distance = =layer_height -travel_avoid_distance = 3 wall_0_inset = 0 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 7a536ce033..354efee6ef 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,13 +8,13 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 10 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 17 skin_overlap = 20 speed_print = 60 speed_layer_0 = 20 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index 96467fe36c..ceab77fc4f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_cpe_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] cool_min_speed = 7 @@ -15,7 +16,6 @@ material_print_temperature = =default_material_print_temperature + 5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 17 speed_print = 60 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 60) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index 1fd6167e67..edfe91c8a1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high material = generic_cpe_ultimaker3_AA_0.4 weight = 1 +setting_version = 2 [values] cool_min_speed = 12 @@ -17,7 +18,6 @@ material_print_temperature = =default_material_print_temperature - 5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 17 speed_print = 50 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 5ad1ef6b43..1487d476f0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] machine_nozzle_cool_down_speed = 0.85 @@ -15,7 +16,6 @@ machine_nozzle_heat_up_speed = 1.5 material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 -prime_tower_size = 17 speed_print = 55 speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 55) diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index 6899989100..6d33e4298a 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] adhesion_type = brim @@ -20,7 +21,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_enable = False raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index 76a2491079..189d8efbae 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_nylon_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] adhesion_type = brim @@ -20,7 +21,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_enable = False raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index ba50bc4d31..70a72beb50 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high material = generic_nylon_ultimaker3_AA_0.4 weight = 1 +setting_version = 2 [values] adhesion_type = brim @@ -19,7 +20,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_enable = False raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index bebd9976f5..324300d11f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_nylon_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] adhesion_type = brim @@ -19,7 +20,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_enable = False raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index 94b40e427c..a88e38b560 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -1,66 +1,65 @@ -[general] -version = 2 -name = Draft Print -definition = ultimaker3 - -[metadata] -type = quality -quality_type = draft -material = generic_pc_ultimaker3_AA_0.4 -weight = -2 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 90 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 6 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap = 0 -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.2 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_size = 16 -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -travel_avoid_distance = 3 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 -xy_offset = -0.15 +[general] +version = 2 +name = Fast +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pc_ultimaker3_AA_0.4 +weight = -2 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 90 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 6 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap = 0 +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.2 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index 5d848d67dc..242cca1ecf 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -1,65 +1,64 @@ -[general] -version = 2 -name = Fast Print -definition = ultimaker3 - -[metadata] -type = quality -quality_type = fast -material = generic_pc_ultimaker3_AA_0.4 -weight = -1 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 85 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 7 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.15 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_size = 16 -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -travel_avoid_distance = 3 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 -xy_offset = -0.15 +[general] +version = 2 +name = Normal +definition = ultimaker3 + +[metadata] +type = quality +quality_type = fast +material = generic_pc_ultimaker3_AA_0.4 +weight = -1 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 85 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 7 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.15 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index 451aa19f60..51b025c7c6 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -1,66 +1,65 @@ -[general] -version = 2 -name = High Quality -definition = ultimaker3 - -[metadata] -type = quality -quality_type = high -material = generic_pc_ultimaker3_AA_0.4 -weight = 1 - -[values] -acceleration_enabled = True -acceleration_print = 4000 -adhesion_type = raft -brim_width = 20 -cool_fan_full_at_height = =layer_height_0 + layer_height -cool_fan_speed_max = 50 -cool_min_layer_time_fan_speed_max = 5 -cool_min_speed = 8 -infill_line_width = =round(line_width * 0.4 / 0.35, 2) -infill_overlap = 0 -infill_overlap_mm = 0.05 -infill_pattern = triangles -infill_wipe_dist = 0.1 -jerk_enabled = True -jerk_print = 25 -layer_height = 0.06 -machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 -material_initial_print_temperature = =material_print_temperature - 5 -material_print_temperature = =default_material_print_temperature - 10 -material_standby_temperature = 100 -multiple_mesh_overlap = 0 -ooze_shield_angle = 40 -prime_tower_enable = True -prime_tower_size = 16 -prime_tower_wipe_enabled = True -raft_airgap = 0.25 -retraction_count_max = 80 -retraction_extrusion_window = 1 -retraction_hop = 2 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 -retraction_prime_speed = 15 -skin_overlap = 30 -speed_layer_0 = 25 -speed_print = 50 -speed_topbottom = 25 -speed_travel = 250 -speed_wall = =math.ceil(speed_print * 40 / 50) -speed_wall_0 = =math.ceil(speed_wall * 25 / 40) -support_bottom_distance = =support_z_distance -support_interface_density = 87.5 -support_interface_pattern = lines -switch_extruder_prime_speed = 15 -switch_extruder_retraction_amount = 20 -switch_extruder_retraction_speeds = 35 -travel_avoid_distance = 3 -wall_0_inset = 0 -wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) -wall_thickness = 1.2 -xy_offset = -0.15 +[general] +version = 2 +name = Extra Fine +definition = ultimaker3 + +[metadata] +type = quality +quality_type = high +material = generic_pc_ultimaker3_AA_0.4 +weight = 1 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +adhesion_type = raft +brim_width = 20 +cool_fan_full_at_height = =layer_height_0 + layer_height +cool_fan_speed_max = 50 +cool_min_layer_time_fan_speed_max = 5 +cool_min_speed = 8 +infill_line_width = =round(line_width * 0.4 / 0.35, 2) +infill_overlap = 0 +infill_overlap_mm = 0.05 +infill_pattern = triangles +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.06 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_final_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 5 +material_print_temperature = =default_material_print_temperature - 10 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +ooze_shield_angle = 40 +prime_tower_enable = True +prime_tower_wipe_enabled = True +raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) +retraction_count_max = 80 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 15 +skin_overlap = 30 +speed_layer_0 = 25 +speed_print = 50 +speed_topbottom = 25 +speed_travel = 250 +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 25 / 40) +support_bottom_distance = =support_z_distance +support_interface_density = 87.5 +support_interface_pattern = lines +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +wall_0_inset = 0 +wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) +wall_thickness = 1.2 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index cc50189e8c..23449bcda2 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_pc_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] acceleration_enabled = True @@ -33,9 +34,9 @@ material_standby_temperature = 100 multiple_mesh_overlap = 0 ooze_shield_angle = 40 prime_tower_enable = True -prime_tower_size = 16 prime_tower_wipe_enabled = True raft_airgap = 0.25 +raft_interface_thickness = =max(layer_height * 1.5, 0.225) retraction_count_max = 80 retraction_extrusion_window = 1 retraction_hop = 2 @@ -56,8 +57,6 @@ support_interface_pattern = lines switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 -travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =round(line_width * 0.4 / 0.35, 2) wall_thickness = 1.2 -xy_offset = -0.15 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index eb56b0aa4c..46f043ce65 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index c5faa17a2b..10a04ed47b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_pla_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index 1a6db5e3b5..27d4b20815 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high material = generic_pla_ultimaker3_AA_0.4 weight = 1 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index c7a7be37c0..94e82ede57 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_pla_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg new file mode 100644 index 0000000000..4228c718c6 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Draft_Print.inst.cfg @@ -0,0 +1,66 @@ +[general] +version = 2 +name = Fast +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pp_ultimaker3_AA_0.4 +weight = -2 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +brim_width = 20 +cool_fan_speed_max = 100 +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 7 +cool_min_speed = 2.5 +infill_line_width = =round(line_width * 0.38 / 0.38, 2) +infill_overlap = 0 +infill_pattern = tetrahedral +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.2 +line_width = =machine_nozzle_size * 0.95 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_bed_temperature_layer_0 = 90 +material_final_print_temperature = 205 +material_initial_print_temperature = 210 +material_print_temperature = 215 +material_print_temperature_layer_0 = 220 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +prime_tower_enable = False +prime_tower_size = 16 +prime_tower_wipe_enabled = True +retraction_amount = 6.5 +retraction_count_max = 12 +retraction_extra_prime_amount = 0.8 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 18 +speed_equalize_flow_enabled = True +speed_layer_0 = 15 +speed_print = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 300 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 25 / 25) +support_angle = 50 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg new file mode 100644 index 0000000000..850ead9120 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Fast_Print.inst.cfg @@ -0,0 +1,66 @@ +[general] +version = 2 +name = Normal +definition = ultimaker3 + +[metadata] +type = quality +quality_type = fast +material = generic_pp_ultimaker3_AA_0.4 +weight = -1 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +brim_width = 20 +cool_fan_speed_max = 100 +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 7 +cool_min_speed = 2.5 +infill_line_width = =round(line_width * 0.38 / 0.38, 2) +infill_overlap = 0 +infill_pattern = tetrahedral +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +layer_height = 0.15 +line_width = =machine_nozzle_size * 0.95 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_bed_temperature_layer_0 = 90 +material_final_print_temperature = 195 +material_initial_print_temperature = 205 +material_print_temperature = 207 +material_print_temperature_layer_0 = 210 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +prime_tower_enable = False +prime_tower_size = 16 +prime_tower_wipe_enabled = True +retraction_count_max = 12 +retraction_extra_prime_amount = 0.8 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 18 +speed_equalize_flow_enabled = True +speed_layer_0 = 15 +speed_print = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 300 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 25 / 25) +support_angle = 50 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1.1 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg new file mode 100644 index 0000000000..e68f13364a --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.4_PP_Normal_Quality.inst.cfg @@ -0,0 +1,65 @@ +[general] +version = 2 +name = Fine +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_pp_ultimaker3_AA_0.4 +weight = 0 +setting_version = 2 + +[values] +acceleration_enabled = True +acceleration_print = 4000 +brim_width = 20 +cool_fan_speed_max = 100 +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 7 +cool_min_speed = 2.5 +infill_line_width = =round(line_width * 0.38 / 0.38, 2) +infill_overlap = 0 +infill_pattern = tetrahedral +infill_wipe_dist = 0.1 +jerk_enabled = True +jerk_print = 25 +line_width = =machine_nozzle_size * 0.95 +machine_min_cool_heat_time_window = 15 +machine_nozzle_cool_down_speed = 0.85 +machine_nozzle_heat_up_speed = 1.5 +material_bed_temperature_layer_0 = 90 +material_final_print_temperature = 195 +material_initial_print_temperature = 200 +material_print_temperature = 205 +material_print_temperature_layer_0 = 208 +material_standby_temperature = 100 +multiple_mesh_overlap = 0 +prime_tower_enable = False +prime_tower_size = 16 +prime_tower_wipe_enabled = True +retraction_count_max = 12 +retraction_extra_prime_amount = 0.8 +retraction_extrusion_window = 1 +retraction_hop = 2 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 0.8 +retraction_prime_speed = 18 +speed_equalize_flow_enabled = True +speed_layer_0 = 15 +speed_print = 25 +speed_topbottom = =math.ceil(speed_print * 25 / 25) +speed_travel = 300 +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 25 / 25) +speed_wall_0 = =math.ceil(speed_wall * 25 / 25) +support_angle = 50 +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 35 +top_bottom_thickness = 1 +travel_avoid_distance = 3 +wall_0_inset = 0 +wall_line_width_x = =line_width +wall_thickness = =line_width * 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg similarity index 90% rename from resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg index f4abd6f696..2ce06b2de2 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.4 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index 1787b266e2..7450e7112d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.4 weight = -2 +setting_version = 2 [values] acceleration_enabled = True @@ -28,26 +29,25 @@ jerk_print = 25 layer_height = 0.2 line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 5 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_enable = True -prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 12 retraction_extra_prime_amount = 0.8 retraction_extrusion_window = 1 -retraction_hop = 2 +retraction_hop = 1.5 retraction_hop_enabled = True retraction_hop_only_when_collides = True retraction_min_travel = 0.8 retraction_prime_speed = 15 +skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 18 speed_print = 25 @@ -60,7 +60,7 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 top_bottom_thickness = 0.7 -travel_avoid_distance = 3 +travel_avoid_distance = 1.5 wall_0_inset = 0 wall_line_width_x = =line_width -wall_thickness = 0.76 +wall_thickness = 0.76 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index f53d3fd285..2d07cd8b31 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast material = generic_tpu_ultimaker3_AA_0.4 weight = -1 +setting_version = 2 [values] acceleration_enabled = True @@ -28,27 +29,26 @@ jerk_print = 25 layer_height = 0.15 line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 5 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_enable = True -prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_amount = 7 retraction_count_max = 12 retraction_extra_prime_amount = 0.8 retraction_extrusion_window = 1 -retraction_hop = 2 +retraction_hop = 1.5 retraction_hop_enabled = True retraction_hop_only_when_collides = True retraction_min_travel = 0.8 retraction_prime_speed = 15 +skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 18 speed_print = 25 @@ -61,7 +61,7 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 top_bottom_thickness = 0.7 -travel_avoid_distance = 3 +travel_avoid_distance = 1.5 wall_0_inset = 0 wall_line_width_x = =line_width -wall_thickness = 0.76 +wall_thickness = 0.76 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index 0b475eda92..1d8467482f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal material = generic_tpu_ultimaker3_AA_0.4 weight = 0 +setting_version = 2 [values] acceleration_enabled = True @@ -27,25 +28,24 @@ jerk_enabled = True jerk_print = 25 line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 10 +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 10 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature_layer_0 = =default_material_print_temperature material_standby_temperature = 100 multiple_mesh_overlap = 0 -prime_tower_enable = True -prime_tower_size = 16 prime_tower_wipe_enabled = True retraction_count_max = 12 retraction_extra_prime_amount = 0.8 retraction_extrusion_window = 1 -retraction_hop = 2 +retraction_hop = 1.5 retraction_hop_enabled = True retraction_hop_only_when_collides = True retraction_min_travel = 0.8 retraction_prime_speed = 15 +skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 18 speed_print = 25 @@ -58,7 +58,7 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 35 top_bottom_thickness = 0.7 -travel_avoid_distance = 3 +travel_avoid_distance = 1.5 wall_0_inset = 0 wall_line_width_x = =line_width -wall_thickness = 0.76 +wall_thickness = 0.76 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg index 7fb96d0cea..41dee1edf4 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.8 weight = -2 +setting_version = 2 [values] line_width = =machine_nozzle_size * 0.875 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg index 63f27c180d..d757ca32a0 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Superdraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = superdraft material = generic_abs_ultimaker3_AA_0.8 weight = -4 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg index 1eeb95fcd2..9f5fddf21b 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Verydraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = verydraft material = generic_abs_ultimaker3_AA_0.8 weight = -3 +setting_version = 2 [values] layer_height = 0.3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg new file mode 100644 index 0000000000..80b80978d1 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Fast_Print.inst.cfg @@ -0,0 +1,37 @@ +[general] +version = 2 +name = Fast - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_plus_ultimaker3_AA_0.8 +weight = -2 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 14 * layer_height +infill_before_walls = True +line_width = =machine_nozzle_size * 0.9375 +machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_heat_up_speed = 1.4 +material_print_temperature = =default_material_print_temperature - 10 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +retraction_combing = off +retraction_hop = 0.1 +retraction_hop_enabled = False +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 15 +speed_topbottom = =math.ceil(speed_print * 35 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 35 / 40) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.6 / 0.7, 2) +support_z_distance = =layer_height +top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg deleted file mode 100755 index 9cc2999ed2..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -type = quality -quality_type = superdraft -material = generic_cpe_plus_ultimaker3_AA_0.8 -weight = 0 -supported = False - -[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg new file mode 100644 index 0000000000..8a16b26682 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Superdraft_Print.inst.cfg @@ -0,0 +1,39 @@ +[general] +version = 2 +name = Sprint - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = superdraft +material = generic_cpe_plus_ultimaker3_AA_0.8 +weight = -4 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 7 * layer_height +infill_before_walls = True +layer_height = 0.4 +line_width = =machine_nozzle_size * 0.9375 +machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_heat_up_speed = 1.4 +material_print_temperature = =default_material_print_temperature - 5 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +prime_tower_enable = True +retraction_combing = off +retraction_hop = 0.1 +retraction_hop_enabled = False +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 8 +speed_topbottom = =math.ceil(speed_print * 35 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 35 / 40) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.6 / 0.7, 2) +support_z_distance = =layer_height +top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg new file mode 100644 index 0000000000..bd5b8972b1 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Verydraft_Print.inst.cfg @@ -0,0 +1,39 @@ +[general] +version = 2 +name = Extra Fast - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = verydraft +material = generic_cpe_plus_ultimaker3_AA_0.8 +weight = -3 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 9 * layer_height +infill_before_walls = True +layer_height = 0.3 +line_width = =machine_nozzle_size * 0.9375 +machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_heat_up_speed = 1.4 +material_print_temperature = =default_material_print_temperature - 7 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +prime_tower_enable = True +retraction_combing = off +retraction_hop = 0.1 +retraction_hop_enabled = False +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 10 +speed_topbottom = =math.ceil(speed_print * 35 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 35 / 40) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.6 / 0.7, 2) +support_z_distance = =layer_height +top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg index dbee576a94..d920d76417 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,12 +8,14 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.8 weight = -2 +setting_version = 2 [values] brim_width = 15 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 15 material_standby_temperature = 100 +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg index 9aa8b69381..480d63a698 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Superdraft_Print.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] type = quality quality_type = superdraft material = generic_cpe_ultimaker3_AA_0.8 -weight = -2 +weight = -4 +setting_version = 2 [values] brim_width = 15 @@ -15,6 +16,7 @@ layer_height = 0.4 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 20 material_standby_temperature = 100 +prime_tower_enable = True speed_print = 45 speed_topbottom = =math.ceil(speed_print * 30 / 45) speed_wall = =math.ceil(speed_print * 40 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg index 3f897c91d3..c1d48f2555 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Verydraft_Print.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] type = quality quality_type = verydraft material = generic_cpe_ultimaker3_AA_0.8 -weight = -2 +weight = -3 +setting_version = 2 [values] brim_width = 15 @@ -15,6 +16,7 @@ layer_height = 0.3 line_width = =machine_nozzle_size * 0.875 material_print_temperature = =default_material_print_temperature + 17 material_standby_temperature = 100 +prime_tower_enable = True speed_print = 40 speed_topbottom = =math.ceil(speed_print * 25 / 40) speed_wall = =math.ceil(speed_print * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index 30d9dccb19..ec8ba37518 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_AA_0.8 weight = -2 +setting_version = 2 [values] brim_width = 5.6 @@ -19,7 +20,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_size = 15 +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index b2348c7a30..90f04b1e8a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = superdraft material = generic_nylon_ultimaker3_AA_0.8 weight = -4 +setting_version = 2 [values] brim_width = 5.6 @@ -20,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_size = 15 +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 42b09bd272..7980541f32 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = verydraft material = generic_nylon_ultimaker3_AA_0.8 weight = -3 +setting_version = 2 [values] brim_width = 5.6 @@ -20,7 +21,7 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_heat_up_speed = 1.4 material_standby_temperature = 100 ooze_shield_angle = 40 -prime_tower_size = 15 +prime_tower_enable = True raft_acceleration = =acceleration_layer_0 raft_airgap = =round(layer_height_0 * 0.85, 2) raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 2) diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg new file mode 100644 index 0000000000..18c82b1e2c --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Fast_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 2 +name = Fast - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pc_ultimaker3_AA_0.8 +weight = 0 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 14 * layer_height +infill_before_walls = True +line_width = =machine_nozzle_size * 0.875 +material_print_temperature = =default_material_print_temperature - 5 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +raft_airgap = 0.5 +raft_margin = 15 +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 15 +speed_topbottom = =math.ceil(speed_print * 25 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +support_line_width = =round(line_width * 0.6 / 0.7, 2) +travel_avoid_distance = 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg deleted file mode 100755 index e47a866584..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -weight = 0 -type = quality -quality_type = normal -material = generic_pc_ultimaker3_AA_0.8 -supported = False - -[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg deleted file mode 100755 index 14b08854b8..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -weight = 0 -type = quality -quality_type = superdraft -material = generic_pc_ultimaker3_AA_0.8 -supported = False - -[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg new file mode 100644 index 0000000000..328c5d9f1d --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Superdraft_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 2 +name = Sprint - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = superdraft +material = generic_pc_ultimaker3_AA_0.8 +weight = -2 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 7 * layer_height +infill_before_walls = True +layer_height = 0.4 +line_width = =machine_nozzle_size * 0.875 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +raft_airgap = 0.5 +raft_margin = 15 +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 8 +speed_topbottom = =math.ceil(speed_print * 25 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +support_line_width = =round(line_width * 0.6 / 0.7, 2) +travel_avoid_distance = 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg new file mode 100644 index 0000000000..27ecd7343f --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Verydraft_Print.inst.cfg @@ -0,0 +1,32 @@ +[general] +version = 2 +name = Extra Fast - Experimental +definition = ultimaker3 + +[metadata] +type = quality +quality_type = verydraft +material = generic_pc_ultimaker3_AA_0.8 +weight = -1 +setting_version = 2 + +[values] +brim_width = 14 +cool_fan_full_at_height = =layer_height_0 + 9 * layer_height +infill_before_walls = True +layer_height = 0.3 +line_width = =machine_nozzle_size * 0.875 +material_print_temperature = =default_material_print_temperature - 2 +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +raft_airgap = 0.5 +raft_margin = 15 +skin_overlap = 0 +speed_layer_0 = 15 +speed_print = 50 +speed_slowdown_layers = 10 +speed_topbottom = =math.ceil(speed_print * 25 / 50) +speed_wall = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_wall * 30 / 40) +support_line_width = =round(line_width * 0.6 / 0.7, 2) +travel_avoid_distance = 3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index b9222d6350..c528a2523f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,16 +8,15 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_AA_0.8 weight = -2 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =100 cool_min_speed = 2 gradual_infill_step_height = =3 * layer_height -gradual_infill_steps = 4 infill_line_width = =round(line_width * 0.535 / 0.75, 2) infill_pattern = cubic -infill_sparse_density = 80 line_width = =machine_nozzle_size * 0.9375 machine_nozzle_cool_down_speed = 0.75 machine_nozzle_heat_up_speed = 1.6 @@ -25,7 +24,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_size = 15 +prime_tower_enable = True support_angle = 70 support_line_width = =line_width * 0.75 support_pattern = ='triangles' diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index e9f081ef4a..f0f375c7ee 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] @@ -8,16 +8,15 @@ type = quality quality_type = superdraft material = generic_pla_ultimaker3_AA_0.8 weight = -4 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =100 cool_min_speed = 2 gradual_infill_step_height = =3 * layer_height -gradual_infill_steps = 4 infill_line_width = =round(line_width * 0.535 / 0.75, 2) infill_pattern = cubic -infill_sparse_density = 80 layer_height = 0.4 line_width = =machine_nozzle_size * 0.9375 machine_nozzle_cool_down_speed = 0.75 @@ -26,7 +25,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 15 material_standby_temperature = 100 -prime_tower_size = 15 +prime_tower_enable = True raft_margin = 10 support_angle = 70 support_line_width = =line_width * 0.75 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index af18a87a20..aabdf1213d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] @@ -8,16 +8,15 @@ type = quality quality_type = verydraft material = generic_pla_ultimaker3_AA_0.8 weight = -3 +setting_version = 2 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =100 cool_min_speed = 2 gradual_infill_step_height = =3 * layer_height -gradual_infill_steps = 4 infill_line_width = =round(line_width * 0.535 / 0.75, 2) infill_pattern = cubic -infill_sparse_density = 80 layer_height = 0.3 line_width = =machine_nozzle_size * 0.9375 machine_nozzle_cool_down_speed = 0.75 @@ -26,7 +25,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15 material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 -prime_tower_size = 15 +prime_tower_enable = True support_angle = 70 support_line_width = =line_width * 0.75 support_pattern = ='triangles' diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg new file mode 100644 index 0000000000..8b85d6d7fb --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg @@ -0,0 +1,52 @@ +[general] +version = 2 +name = Fast +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pp_ultimaker3_AA_0.8 +weight = -2 +setting_version = 2 + +[values] +brim_width = 25 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 17 +expand_skins_expand_distance = =line_width * 2 +expand_upper_skins = True +infill_before_walls = True +infill_line_width = =round(line_width * 0.7 / 0.8, 2) +infill_pattern = tetrahedral +jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) +jerk_support = =math.ceil(jerk_print * 25 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) +material_bed_temperature_layer_0 = =material_bed_temperature +material_print_temperature = =default_material_print_temperature - 2 +material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_standby_temperature = 100 +multiple_mesh_overlap = 0.2 +prime_tower_enable = True +prime_tower_flow = 100 +prime_tower_wall_thickness = =prime_tower_line_width * 2 +retract_at_layer_change = False +retraction_count_max = 12 +retraction_extra_prime_amount = 0.5 +retraction_hop = 0.5 +retraction_min_travel = 1.5 +retraction_prime_speed = 15 +skin_line_width = =round(line_width * 0.78 / 0.8, 2) +speed_travel = 300 +speed_wall_x = =math.ceil(speed_wall * 30 / 30) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.7 / 0.8, 2) +support_offset = =line_width +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 45 +top_bottom_thickness = 1.6 +travel_compensate_overlapping_walls_0_enabled = False +wall_0_wipe_dist = =line_width * 2 +wall_line_width_x = =round(line_width * 0.8 / 0.8, 2) +wall_thickness = 1.6 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg new file mode 100644 index 0000000000..f1042df045 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -0,0 +1,52 @@ +[general] +version = 2 +name = Sprint +definition = ultimaker3 + +[metadata] +type = quality +quality_type = superdraft +material = generic_pp_ultimaker3_AA_0.8 +weight = -4 +setting_version = 2 + +[values] +brim_width = 25 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 17 +expand_skins_expand_distance = =line_width * 2 +expand_upper_skins = True +infill_before_walls = True +infill_line_width = =round(line_width * 0.7 / 0.8, 2) +infill_pattern = tetrahedral +jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) +jerk_support = =math.ceil(jerk_print * 25 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) +material_bed_temperature_layer_0 = =material_bed_temperature +material_print_temperature = =default_material_print_temperature + 2 +material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_standby_temperature = 100 +multiple_mesh_overlap = 0.2 +prime_tower_enable = True +prime_tower_flow = 100 +prime_tower_wall_thickness = =prime_tower_line_width * 2 +retract_at_layer_change = False +retraction_count_max = 12 +retraction_extra_prime_amount = 0.5 +retraction_hop = 0.5 +retraction_min_travel = 1.5 +retraction_prime_speed = 15 +skin_line_width = =round(line_width * 0.78 / 0.8, 2) +speed_travel = 300 +speed_wall_x = =math.ceil(speed_wall * 30 / 30) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.7 / 0.8, 2) +support_offset = =line_width +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 45 +top_bottom_thickness = 1.6 +travel_compensate_overlapping_walls_0_enabled = False +wall_0_wipe_dist = =line_width * 2 +wall_line_width_x = =round(line_width * 0.8 / 0.8, 2) +wall_thickness = 1.6 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg new file mode 100644 index 0000000000..2ddb591127 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -0,0 +1,52 @@ +[general] +version = 2 +name = Extra Fast +definition = ultimaker3 + +[metadata] +type = quality +quality_type = verydraft +material = generic_pp_ultimaker3_AA_0.8 +weight = -3 +setting_version = 2 + +[values] +brim_width = 25 +cool_min_layer_time_fan_speed_max = 6 +cool_min_speed = 17 +expand_skins_expand_distance = =line_width * 2 +expand_upper_skins = True +infill_before_walls = True +infill_line_width = =round(line_width * 0.7 / 0.8, 2) +infill_pattern = tetrahedral +jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) +jerk_support = =math.ceil(jerk_print * 25 / 25) +jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) +layer_height = 0.3 +material_bed_temperature_layer_0 = =material_bed_temperature +material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_standby_temperature = 100 +multiple_mesh_overlap = 0.2 +prime_tower_enable = True +prime_tower_flow = 100 +prime_tower_wall_thickness = =prime_tower_line_width * 2 +retract_at_layer_change = False +retraction_count_max = 12 +retraction_extra_prime_amount = 0.5 +retraction_hop = 0.5 +retraction_min_travel = 1.5 +retraction_prime_speed = 15 +skin_line_width = =round(line_width * 0.78 / 0.8, 2) +speed_travel = 300 +speed_wall_x = =math.ceil(speed_wall * 30 / 30) +support_bottom_distance = =support_z_distance +support_line_width = =round(line_width * 0.7 / 0.8, 2) +support_offset = =line_width +switch_extruder_prime_speed = 15 +switch_extruder_retraction_amount = 20 +switch_extruder_retraction_speeds = 45 +top_bottom_thickness = 1.6 +travel_compensate_overlapping_walls_0_enabled = False +wall_0_wipe_dist = =line_width * 2 +wall_line_width_x = =round(line_width * 0.8 / 0.8, 2) +wall_thickness = 1.6 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg index ce306fad95..9da6595ec8 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.8 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg index 5dbfab6341..ddecefa938 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ type = quality quality_type = superdraft material = generic_pva_ultimaker3_AA_0.8 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Normal_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg similarity index 85% rename from resources/quality/ultimaker3/um3_aa0.8_TPU_Normal_Print.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg index 3f3eeb145e..97deea6740 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Normal_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,12 +8,12 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.8 weight = -2 +setting_version = 2 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 expand_skins_expand_distance = =line_width * 2 -expand_skins_into_infill = True expand_upper_skins = True gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 @@ -24,8 +24,12 @@ infill_sparse_density = 80 jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 material_bed_temperature_layer_0 = 0 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 105 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 @@ -36,12 +40,11 @@ prime_tower_wall_thickness = =prime_tower_line_width * 2 retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 -retraction_hop = 0.5 +retraction_hop = 1.5 retraction_hop_only_when_collides = False retraction_min_travel = 0.8 retraction_prime_speed = 15 skin_line_width = =round(line_width * 0.78 / 0.8, 2) -skin_overlap = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 25 / 30) speed_travel = 300 @@ -55,8 +58,8 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 45 top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 travel_compensate_overlapping_walls_0_enabled = False wall_0_wipe_dist = =line_width * 2 wall_line_width_x = =round(line_width * 0.6 / 0.8, 2) -wall_thickness = 1.3 - +wall_thickness = 1.3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg deleted file mode 100755 index 7973ac08cc..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -weight = 0 -type = quality -quality_type = normal -material = generic_tpu_ultimaker3_AA_0.8 -supported = False - -[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg deleted file mode 100755 index ec04652763..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -weight = 0 -type = quality -quality_type = superdraft -material = generic_tpu_ultimaker3_AA_0.8 -supported = False - -[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg index 38930d1507..7871f330cc 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] @@ -8,12 +8,12 @@ type = quality quality_type = superdraft material = generic_tpu_ultimaker3_AA_0.8 weight = -4 +setting_version = 2 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 expand_skins_expand_distance = =line_width * 2 -expand_skins_into_infill = True expand_upper_skins = True gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 @@ -25,8 +25,12 @@ jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) layer_height = 0.4 +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 material_bed_temperature_layer_0 = 0 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 105 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 @@ -37,12 +41,11 @@ prime_tower_wall_thickness = =prime_tower_line_width * 2 retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 -retraction_hop = 0.5 +retraction_hop = 1.5 retraction_hop_only_when_collides = False retraction_min_travel = 0.8 retraction_prime_speed = 15 skin_line_width = =round(line_width * 0.78 / 0.8, 2) -skin_overlap = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) speed_travel = 300 @@ -56,8 +59,8 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 45 top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 travel_compensate_overlapping_walls_0_enabled = False wall_0_wipe_dist = =line_width * 2 wall_line_width_x = =round(line_width * 0.6 / 0.8, 2) -wall_thickness = 1.3 - +wall_thickness = 1.3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg index edc9f61f0e..9da9e3945f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] @@ -8,12 +8,12 @@ type = quality quality_type = verydraft material = generic_tpu_ultimaker3_AA_0.8 weight = -3 +setting_version = 2 [values] brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 expand_skins_expand_distance = =line_width * 2 -expand_skins_into_infill = True expand_upper_skins = True gradual_infill_step_height = =4 * layer_height gradual_infill_steps = 5 @@ -25,8 +25,12 @@ jerk_prime_tower = =math.ceil(jerk_print * 25 / 25) jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) layer_height = 0.3 +machine_nozzle_cool_down_speed = 0.5 +machine_nozzle_heat_up_speed = 2.5 material_bed_temperature_layer_0 = 0 +material_final_print_temperature = =material_print_temperature - 21 material_flow = 105 +material_initial_print_temperature = =material_print_temperature - 16 material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 @@ -36,12 +40,11 @@ prime_tower_wall_thickness = =prime_tower_line_width * 2 retract_at_layer_change = False retraction_count_max = 12 retraction_extra_prime_amount = 0.5 -retraction_hop = 0.5 +retraction_hop = 1.5 retraction_hop_only_when_collides = False retraction_min_travel = 0.8 retraction_prime_speed = 15 skin_line_width = =round(line_width * 0.78 / 0.8, 2) -skin_overlap = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 23 / 30) speed_travel = 300 @@ -55,8 +58,8 @@ switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 20 switch_extruder_retraction_speeds = 45 top_bottom_thickness = 1.2 +travel_avoid_distance = 1.5 travel_compensate_overlapping_walls_0_enabled = False wall_0_wipe_dist = =line_width * 2 wall_line_width_x = =round(line_width * 0.6 / 0.8, 2) -wall_thickness = 1.3 - +wall_thickness = 1.3 \ No newline at end of file diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg index 7d2e7aa585..c1271f68e8 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg index a2d097ee09..3d4843a07a --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg index d90ac7f126..355b9fd390 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 91% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg index c7a19c3299..3b5c086e13 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg index 1d222bec93..695185da03 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg index 2c92677a40..4cd4dd4c18 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg index 4894ea3e79..29f550fe59 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg index d8c202efe8..c40458ecbe --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg index 919e3e952b..78c4413c5e --- a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PC_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg index 4dba9ea8c6..1f0a724e55 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg index f394ea40b4..6c84ab05a6 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 83fd52a1fd..7b042d9375 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,19 +8,11 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.4 +setting_version = 2 [values] -acceleration_support = =math.ceil(acceleration_print * 500 / 4000) -acceleration_support_infill = =acceleration_support -jerk_support = =math.ceil(jerk_print * 5 / 25) -jerk_support_infill = =jerk_support material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 +prime_tower_enable = False skin_overlap = 20 support_interface_height = 0.8 -prime_tower_enable = False -speed_support_interface = =math.ceil(speed_support * 20 / 25) -jerk_support_interface = =math.ceil(jerk_support * 1 / 5) -acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) -support_xy_distance = =round(line_width * 1.5, 2) - diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 582d6e9c76..0f78ea0860 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Print +name = Normal definition = ultimaker3 [metadata] @@ -8,18 +8,11 @@ weight = -1 type = quality quality_type = fast material = generic_pva_ultimaker3_BB_0.4 +setting_version = 2 [values] -acceleration_support = =math.ceil(acceleration_print * 500 / 4000) -acceleration_support_infill = =acceleration_support -jerk_support = =math.ceil(jerk_print * 5 / 25) -jerk_support_infill = =jerk_support material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +prime_tower_enable = False skin_overlap = 15 support_interface_height = 0.8 -prime_tower_enable = False -speed_support_interface = =math.ceil(speed_support * 20 / 25) -jerk_support_interface = =math.ceil(jerk_support * 1 / 5) -acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) -support_xy_distance = =round(line_width * 1.5, 2) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index fc6be3ea3d..7e335a01ae 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -1,25 +1,17 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] -weight = 0 +weight = 1 type = quality quality_type = high material = generic_pva_ultimaker3_BB_0.4 +setting_version = 2 [values] -acceleration_support = =math.ceil(acceleration_print * 500 / 4000) -acceleration_support_infill = =acceleration_support -jerk_support = =math.ceil(jerk_print * 5 / 25) -jerk_support_infill = =jerk_support -support_infill_rate = 25 -support_interface_height = 0.8 material_standby_temperature = 100 prime_tower_enable = False -speed_support_interface = =math.ceil(speed_support * 20 / 25) -jerk_support_interface = =math.ceil(jerk_support * 1 / 5) -acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) -support_xy_distance = =round(line_width * 1.5, 2) - +support_infill_rate = 25 +support_interface_height = 0.8 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index 5eb690fa99..472b0ce51b 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,17 +8,10 @@ weight = 0 type = quality quality_type = normal material = generic_pva_ultimaker3_BB_0.4 +setting_version = 2 [values] -acceleration_support = =math.ceil(acceleration_print * 500 / 4000) -acceleration_support_infill = =acceleration_support -jerk_support = =math.ceil(jerk_print * 5 / 25) -jerk_support_infill = =jerk_support -support_infill_rate = 25 -support_interface_height = 0.8 material_standby_temperature = 100 prime_tower_enable = False -speed_support_interface = =math.ceil(speed_support * 20 / 25) -jerk_support_interface = =math.ceil(jerk_support * 1 / 5) -acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) -support_xy_distance = =round(line_width * 1.5, 2) +support_infill_rate = 25 +support_interface_height = 0.8 diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg index 18bbdb6c12..f71989d851 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg index 7d00e9e0df..13734f3947 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg index 81b6ff8f4b..55026ddcbc --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg index 2b65cf0aee..2b2aa5acd2 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg index 7b60406d2b..1165d6ab2c --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 91% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg index 6cec304241..7a309e4abc --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg index dcb12e250f..97fc8408d0 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg index cc38d9956f..543ce9fcc6 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg index 2bb282ad56..3030decc57 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg index 6f5099e267..ff2b83a685 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg index 7e3df6c22b..30c55627fa --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg index f0c4723a42..7496e68bf6 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg index 651b32be57..2acbc9713a --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Fast_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg index 2ec598e2df..2c64ccef98 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index 17e406cdc8..b19f9811a8 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Print +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft weight = -2 material = generic_pva_ultimaker3_BB_0.8 +setting_version = 2 [values] material_print_temperature = =default_material_print_temperature + 5 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 7e87761349..4d9f61e628 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Superdraft Print +name = Sprint definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = superdraft weight = -4 material = generic_pva_ultimaker3_BB_0.8 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index d79f0c6848..3b6bb267dc 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Verydraft Print +name = Extra Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = verydraft weight = -3 material = generic_pva_ultimaker3_BB_0.8 +setting_version = 2 [values] layer_height = 0.3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg index 47652d807b..17e2bf7ba1 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Fast_print.inst.cfg @@ -9,5 +9,6 @@ quality_type = normal material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg old mode 100755 new mode 100644 similarity index 90% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg index eb37c60507..1369ee6d41 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Superdraft_Print.inst.cfg @@ -9,5 +9,6 @@ quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False +setting_version = 2 [values] diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index 96e25c6ad8..e564a6ee56 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Draft Quality +name = Fast definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = draft global_quality = True weight = -2 +setting_version = 2 [values] layer_height = 0.2 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index 6b1c3c4208..435d8cc84f 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Fast Quality +name = Normal definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = fast global_quality = True weight = -1 +setting_version = 2 [values] layer_height = 0.15 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index af0741ff88..5917a4bd41 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = High Quality +name = Extra Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = high global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.06 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index a875b0f1ce..fd16913dcf 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -1,6 +1,6 @@ [general] version = 2 -name = Normal Quality +name = Fine definition = ultimaker3 [metadata] @@ -8,6 +8,7 @@ type = quality quality_type = normal global_quality = True weight = 0 +setting_version = 2 [values] layer_height = 0.1 diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg old mode 100755 new mode 100644 index fd3fd1f642..a2ed2c55ff --- a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Superdraft Quality +name = Sprint definition = ultimaker3 [metadata] type = quality quality_type = superdraft global_quality = True -weight = -2 +weight = -4 +setting_version = 2 [values] layer_height = 0.4 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg old mode 100755 new mode 100644 index 83afa35e2e..0e12596a8d --- a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg @@ -1,13 +1,14 @@ [general] version = 2 -name = Verydraft Quality +name = Extra Fast definition = ultimaker3 [metadata] type = quality quality_type = verydraft global_quality = True -weight = -2 +weight = -3 +setting_version = 2 [values] layer_height = 0.3 diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json new file mode 100644 index 0000000000..5855b59d04 --- /dev/null +++ b/resources/themes/cura-dark/theme.json @@ -0,0 +1,186 @@ +{ + "metadata": { + "name": "Dark", + "inherits": "cura" + }, + "colors": { + "sidebar": [83, 83, 83, 255], + "lining": [127, 127, 127, 255], + "viewport_overlay": [66, 66, 66, 255], + + "primary": [12, 169, 227, 255], + "primary_hover": [48, 182, 231, 255], + "primary_text": [83, 83, 83, 255], + "border": [127, 127, 127, 255], + "secondary": [66, 66, 66, 255], + + "text": [255, 255, 255, 255], + "text_detail": [174, 174, 174, 128], + "text_link": [12, 169, 227, 255], + "text_inactive": [174, 174, 174, 255], + "text_hover": [70, 84, 113, 255], + "text_pressed": [12, 169, 227, 255], + "text_reversed": [255, 255, 255, 255], + "text_subtext": [255, 255, 255, 255], + + "error": [255, 140, 0, 255], + + "sidebar_header_bar": [66, 66, 66, 255], + "sidebar_header_active": [83, 83, 83, 255], + "sidebar_header_hover": [83, 83, 83, 255], + "sidebar_header_highlight": [83, 83, 83, 255], + "sidebar_header_highlight_hover": [66, 66, 66, 255], + "sidebar_lining": [66, 66, 66, 255], + + "button": [83, 83, 83, 255], + "button_hover": [83, 83, 83, 255], + "button_active": [32, 166, 219, 255], + "button_active_hover": [12, 169, 227, 255], + "button_text": [255, 255, 255, 255], + "button_disabled": [255, 255, 255, 255], + "button_disabled_text": [70, 84, 113, 255], + + "button_tooltip": [83, 83, 83, 255], + "button_tooltip_border": [255, 255, 255, 255], + "button_tooltip_text": [255, 255, 255, 255], + + "toggle_checked": [255, 255, 255, 255], + "toggle_checked_border": [255, 255, 255, 255], + "toggle_checked_text": [83, 83, 83, 255], + "toggle_unchecked": [83, 83, 83, 255], + "toggle_unchecked_border": [127, 127, 127, 255], + "toggle_unchecked_text": [255, 255, 255, 255], + "toggle_hovered": [83, 83, 83, 255], + "toggle_hovered_border": [32, 166, 219, 255], + "toggle_hovered_text": [255, 255, 255, 255], + "toggle_active": [32, 166, 219, 255], + "toggle_active_border": [32, 166, 219, 255], + "toggle_active_text": [255, 255, 255, 255], + + "tab_checked": [83, 83, 83, 255], + "tab_checked_border": [83, 83, 83, 255], + "tab_checked_text": [255, 255, 255, 255], + "tab_unchecked": [66, 66, 66, 255], + "tab_unchecked_border": [66, 66, 66, 255], + "tab_unchecked_text": [127, 127, 127, 255], + "tab_hovered": [66, 66, 66, 255], + "tab_hovered_border": [66, 66, 66, 255], + "tab_hovered_text": [32, 166, 219, 255], + "tab_active": [83, 83, 83, 255], + "tab_active_border": [83, 83, 83, 255], + "tab_active_text": [255, 255, 255, 255], + "tab_background": [66, 66, 66, 255], + + "action_button": [83, 83, 83, 255], + "action_button_text": [255, 255, 255, 255], + "action_button_border": [127, 127, 127, 255], + "action_button_hovered": [83, 83, 83, 255], + "action_button_hovered_text": [255, 255, 255, 255], + "action_button_hovered_border": [12, 169, 227, 255], + "action_button_active": [12, 169, 227, 255], + "action_button_active_text": [83, 83, 83, 255], + "action_button_active_border": [12, 169, 227, 255], + "action_button_disabled": [66, 66, 66, 255], + "action_button_disabled_text": [127, 127, 127, 255], + "action_button_disabled_border": [66, 66, 66, 255], + + "scrollbar_background": [83, 83, 83, 255], + "scrollbar_handle": [255, 255, 255, 255], + "scrollbar_handle_hover": [12, 159, 227, 255], + "scrollbar_handle_down": [12, 159, 227, 255], + + "setting_category": [66, 66, 66, 255], + "setting_category_disabled": [83, 83, 83, 255], + "setting_category_hover": [66, 66, 66, 255], + "setting_category_active": [66, 66, 66, 255], + "setting_category_active_hover": [66, 66, 66, 255], + "setting_category_text": [255, 255, 255, 255], + "setting_category_border": [66, 66, 66, 255], + "setting_category_disabled_border": [66, 66, 66, 255], + "setting_category_hover_border": [12, 159, 227, 255], + "setting_category_active_border": [66, 66, 66, 255], + "setting_category_active_hover_border": [12, 159, 227, 255], + + "setting_control": [83, 83, 83, 255], + "setting_control_selected": [12, 159, 227, 255], + "setting_control_highlight": [83, 83, 83, 0], + "setting_control_border": [127, 127, 127, 255], + "setting_control_border_highlight": [12, 169, 227, 255], + "setting_control_text": [255, 255, 255, 255], + "setting_control_depth_line": [127, 127, 127, 255], + "setting_control_button": [127, 127, 127, 255], + "setting_control_button_hover": [70, 84, 113, 255], + "setting_control_disabled": [66, 66, 66, 255], + "setting_control_disabled_text": [127, 127, 127, 255], + "setting_control_disabled_border": [127, 127, 127, 255], + "setting_unit": [127, 127, 127, 255], + "setting_validation_error": [204, 37, 0, 255], + "setting_validation_warning": [204, 146, 0, 255], + "setting_validation_ok": [83, 83, 83, 255], + + "progressbar_background": [66, 66, 66, 255], + "progressbar_control": [255, 255, 255, 255], + + "slider_groove": [66, 66, 66, 255], + "slider_groove_border": [127, 127, 127, 255], + "slider_groove_fill": [127, 127, 127, 255], + "slider_handle": [32, 166, 219, 255], + "slider_handle_hover": [77, 182, 226, 255], + "slider_text_background": [83, 83, 83, 255], + + "checkbox": [83, 83, 83, 255], + "checkbox_hover": [83, 83, 83, 255], + "checkbox_border": [127, 127, 127, 255], + "checkbox_border_hover": [12, 169, 227, 255], + "checkbox_mark": [255, 255, 255, 255], + "checkbox_text": [255, 255, 255, 255], + + "mode_switch": [83, 83, 83, 255], + "mode_switch_hover": [83, 83, 83, 255], + "mode_switch_border": [127, 127, 127, 255], + "mode_switch_border_hover": [12, 169, 227, 255], + "mode_switch_handle": [255, 255, 255, 255], + "mode_switch_text": [255, 255, 255, 255], + "mode_switch_text_hover": [255, 255, 255, 255], + "mode_switch_text_checked": [12, 169, 227, 255], + + "tooltip": [12, 169, 227, 255], + "tooltip_text": [255, 255, 255, 255], + + "message_background": [255, 255, 255, 255], + "message_text": [83, 83, 83, 255], + "message_border": [255, 255, 255, 255], + "message_button": [83, 83, 83, 255], + "message_button_hover": [12, 169, 227, 255], + "message_button_active": [32, 166, 219, 255], + "message_button_text": [255, 255, 255, 255], + "message_button_text_hover": [83, 83, 83, 255], + "message_button_text_active": [83, 83, 83, 255], + "message_progressbar_background": [83, 83, 83, 255], + "message_progressbar_control": [12, 169, 227, 255], + + "tool_panel_background": [83, 83, 83, 255], + + "status_offline": [0, 0, 0, 255], + "status_ready": [0, 205, 0, 255], + "status_busy": [12, 169, 227, 255], + "status_paused": [255, 140, 0, 255], + "status_stopped": [236, 82, 80, 255], + "status_unknown": [127, 127, 127, 255], + + "disabled_axis": [127, 127, 127, 255], + "x_axis": [255, 0, 0, 255], + "y_axis": [0, 0, 255, 255], + "z_axis": [0, 255, 0, 255], + "all_axis": [83, 83, 83, 255], + + "viewport_background": [66, 66, 66, 255], + "volume_outline": [12, 169, 227, 255], + "buildplate": [169, 169, 169, 255], + "buildplate_alt": [204, 204, 204, 255], + + "convex_hull": [35, 35, 35, 127], + "disallowed_area": [0, 0, 0, 40], + "error_area": [255, 0, 0, 127] + } +} diff --git a/resources/themes/cura/icons/gradual.svg b/resources/themes/cura/icons/gradual.svg new file mode 100644 index 0000000000..ed7f301e18 --- /dev/null +++ b/resources/themes/cura/icons/gradual.svg @@ -0,0 +1,102 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index ffe866f2c6..d161d33d56 100755 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -8,6 +8,37 @@ import QtQuick.Controls.Styles 1.1 import UM 1.1 as UM QtObject { + property Component info_button: Component { + ButtonStyle { + label: Text { + renderType: Text.NativeRendering + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + font: UM.Theme.getFont("small") + color: UM.Theme.getColor("button_text") + text: control.text + } + + background: Rectangle { + implicitHeight: UM.Theme.getSize("info_button").height + implicitWidth: width + border.width: 0 + radius: height * 0.5 + + color: { + if (control.pressed) { + return UM.Theme.getColor("button_active"); + } else if (control.hovered) { + return UM.Theme.getColor("button_hover"); + } else { + return UM.Theme.getColor("button"); + } + } + Behavior on color { ColorAnimation { duration: 50; } } + } + } + } + property Component mode_switch: Component { SwitchStyle { groove: Rectangle { @@ -107,11 +138,11 @@ QtObject { } } - property Component sidebar_header_tab: Component { + property Component topbar_header_tab: Component { ButtonStyle { background: Item { - implicitWidth: Theme.getSize("button").width; - implicitHeight: Theme.getSize("button").height; + implicitWidth: Theme.getSize("topbar_button").width; + implicitHeight: Theme.getSize("topbar_button").height; Rectangle { id: buttonFace; @@ -143,27 +174,48 @@ QtObject { } } - label: Item { - UM.RecolorImage { - color: UM.Theme.getColor("text_reversed") - anchors.centerIn: parent - opacity: !control.enabled ? 0.2 : 1.0 - source: control.iconSource - width: Theme.getSize("button_icon").width - height: Theme.getSize("button_icon").height + label: Item + { - sourceSize: Theme.getSize("button_icon") - } - UM.RecolorImage { - visible: control.overlayIconSource != "" - color: control.overlayColor - anchors.centerIn: parent - opacity: !control.enabled ? 0.2 : 1.0 - source: control.overlayIconSource - width: Theme.getSize("button_icon").width + implicitHeight: Theme.getSize("button_icon").height + implicitWidth: Theme.getSize("topbar_button").width; + Item + { + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter; + width: childrenRect.width height: Theme.getSize("button_icon").height + UM.RecolorImage + { + id: icon + color: UM.Theme.getColor("text_reversed") + opacity: !control.enabled ? 0.2 : 1.0 + source: control.iconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height - sourceSize: Theme.getSize("button_icon") + sourceSize: Theme.getSize("button_icon") + } + UM.RecolorImage + { + visible: control.overlayIconSource != "" + color: control.overlayColor + opacity: !control.enabled ? 0.2 : 1.0 + source: control.overlayIconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height + + sourceSize: Theme.getSize("button_icon") + } + Label + { + text: control.text; + anchors.left: icon.right + anchors.leftMargin: Theme.getSize("default_margin").width + anchors.verticalCenter: parent.verticalCenter; + font: UM.Theme.getFont("large"); + color: UM.Theme.getColor("text_reversed") + } } } } @@ -337,11 +389,11 @@ QtObject { color: { if(!control.enabled) { return Theme.getColor("setting_category_disabled_border"); - } else if(control.hovered && control.checkable && control.checked) { + } else if((control.hovered || control.activeFocus) && control.checkable && control.checked) { return Theme.getColor("setting_category_active_hover_border"); } else if(control.pressed || (control.checkable && control.checked)) { return Theme.getColor("setting_category_active_border"); - } else if(control.hovered) { + } else if(control.hovered || control.activeFocus) { return Theme.getColor("setting_category_hover_border"); } else { return Theme.getColor("setting_category_border"); @@ -477,7 +529,7 @@ QtObject { { color: { - if (!enabled) + if(!enabled) { return UM.Theme.getColor("setting_control_disabled"); } diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index 5f0b3656c8..60b542dbf4 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -1,4 +1,7 @@ { + "metadata": { + "name": "Ultimaker" + }, "fonts": { "large": { "size": 1.25, @@ -288,6 +291,8 @@ "button_icon": [2.5, 2.5], "button_lining": [0, 0], + "topbar_button": [17, 4], + "button_tooltip": [1.0, 1.3], "button_tooltip_arrow": [0.25, 0.25], @@ -329,6 +334,8 @@ "infill_button_margin": [0.5, 0.5], - "jobspecs_line": [2.0, 2.0] + "jobspecs_line": [2.0, 2.0], + + "info_button": [0.6, 0.6] } } diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index 2c7ecc7b03..23179b5c7e 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -6,6 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index 43bed9bfbd..ad8d98519e 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -6,6 +6,7 @@ definition = cartesio [metadata] author = Cartesio type = variant +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index d84a45e615..c5bc386558 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -6,7 +6,10 @@ definition = cartesio [metadata] author = Cartesio type = variant +setting_version = 2 [values] machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 1.05 + +prime_tower_line_width = 0.69 diff --git a/resources/variants/imade3d_jellybox_0.4.inst.cfg b/resources/variants/imade3d_jellybox_0.4.inst.cfg index b33fa0fea6..b590dec264 100644 --- a/resources/variants/imade3d_jellybox_0.4.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4.inst.cfg @@ -6,6 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg index 65c330e58b..419506c908 100644 --- a/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg +++ b/resources/variants/imade3d_jellybox_0.4_2-fans.inst.cfg @@ -6,6 +6,7 @@ definition = imade3d_jellybox [metadata] author = IMADE3D type = variant +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_0.25.inst.cfg b/resources/variants/ultimaker2_0.25.inst.cfg new file mode 100644 index 0000000000..d2d4abc7d4 --- /dev/null +++ b/resources/variants/ultimaker2_0.25.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.25 mm +version = 2 +definition = ultimaker2 + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.25 +machine_nozzle_tip_outer_diameter = 0.8 diff --git a/resources/variants/ultimaker2_0.4.inst.cfg b/resources/variants/ultimaker2_0.4.inst.cfg new file mode 100644 index 0000000000..325eb04040 --- /dev/null +++ b/resources/variants/ultimaker2_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.4 mm +version = 2 +definition = ultimaker2 + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.4 +machine_nozzle_tip_outer_diameter = 1.05 diff --git a/resources/variants/ultimaker2_0.6.inst.cfg b/resources/variants/ultimaker2_0.6.inst.cfg new file mode 100644 index 0000000000..6fb8005ed0 --- /dev/null +++ b/resources/variants/ultimaker2_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.6 mm +version = 2 +definition = ultimaker2 + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.6 +machine_nozzle_tip_outer_diameter = 1.25 diff --git a/resources/variants/ultimaker2_0.8.inst.cfg b/resources/variants/ultimaker2_0.8.inst.cfg new file mode 100644 index 0000000000..7c256b9416 --- /dev/null +++ b/resources/variants/ultimaker2_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.8 mm +version = 2 +definition = ultimaker2 + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.8 +machine_nozzle_tip_outer_diameter = 1.35 diff --git a/resources/variants/ultimaker2_extended_0.25.inst.cfg b/resources/variants/ultimaker2_extended_0.25.inst.cfg new file mode 100644 index 0000000000..4e248c55c4 --- /dev/null +++ b/resources/variants/ultimaker2_extended_0.25.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.25 mm +version = 2 +definition = ultimaker2_extended + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.25 +machine_nozzle_tip_outer_diameter = 0.8 diff --git a/resources/variants/ultimaker2_extended_0.4.inst.cfg b/resources/variants/ultimaker2_extended_0.4.inst.cfg new file mode 100644 index 0000000000..01adecceeb --- /dev/null +++ b/resources/variants/ultimaker2_extended_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.4 mm +version = 2 +definition = ultimaker2_extended + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.4 +machine_nozzle_tip_outer_diameter = 1.05 diff --git a/resources/variants/ultimaker2_extended_0.6.inst.cfg b/resources/variants/ultimaker2_extended_0.6.inst.cfg new file mode 100644 index 0000000000..a93ce8f628 --- /dev/null +++ b/resources/variants/ultimaker2_extended_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.6 mm +version = 2 +definition = ultimaker2_extended + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.6 +machine_nozzle_tip_outer_diameter = 1.25 diff --git a/resources/variants/ultimaker2_extended_0.8.inst.cfg b/resources/variants/ultimaker2_extended_0.8.inst.cfg new file mode 100644 index 0000000000..9588d017ec --- /dev/null +++ b/resources/variants/ultimaker2_extended_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.8 mm +version = 2 +definition = ultimaker2_extended + +[metadata] +author = Ultimaker +type = variant +setting_version = 2 + +[values] +machine_nozzle_size = 0.8 +machine_nozzle_tip_outer_diameter = 1.35 diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index b499db6163..fa5861ea6d 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index d2fb6f76b1..ef0bed8305 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index e4f9f0ce45..643b0d3d8c 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index 18570ea75d..a282b288a2 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_extended_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index 7cab771101..14d8d5d899 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.25 diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index 748f367250..ccc1d246a0 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.4 diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index 34d0f7a5cf..40c1f523a8 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.6 diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index e719409060..563b955063 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker2_plus [metadata] author = Ultimaker type = variant +setting_version = 2 [values] machine_nozzle_size = 0.8 diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index e7e1654c6e..9d31e166ed 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant +setting_version = 2 [values] acceleration_enabled = True @@ -30,6 +31,7 @@ line_width = =machine_nozzle_size machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 +machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 material_final_print_temperature = =material_print_temperature - 10 @@ -37,7 +39,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = False -prime_tower_size = 16 prime_tower_wipe_enabled = True retract_at_layer_change = True retraction_amount = 6.5 @@ -60,7 +61,6 @@ support_z_distance = =layer_height * 2 switch_extruder_prime_speed = 20 switch_extruder_retraction_amount = 16.5 top_bottom_thickness = 1.4 -travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =wall_line_width wall_thickness = 2 diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index dae256c990..dfdd57a075 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -6,10 +6,12 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant +setting_version = 2 [values] brim_width = 7 machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_id = AA 0.4 raft_acceleration = =acceleration_print raft_airgap = 0.3 raft_base_thickness = =resolveOrValue('layer_height_0') * 1.2 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index d0c2c9c661..d90190885f 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -6,11 +6,14 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant +setting_version = 2 [values] acceleration_enabled = True acceleration_print = 4000 -acceleration_support_interface = =math.ceil(acceleration_topbottom * 100 / 500) +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) +acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) brim_width = 3 cool_fan_speed = 50 cool_min_speed = 5 @@ -20,10 +23,13 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_support_interface = =math.ceil(jerk_topbottom * 1 / 5) +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 +machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 material_print_temperature = =default_material_print_temperature + 10 @@ -53,26 +59,29 @@ retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 speed_print = 35 -speed_support_interface = =math.ceil(speed_topbottom * 15 / 20) +speed_support = =math.ceil(speed_print * 25 / 35) +speed_support_interface = =math.ceil(speed_support * 20 / 25) +speed_support_bottom = =math.ceil(speed_support_interface * 10 / 20) speed_wall_0 = =math.ceil(speed_wall * 25 / 30) support_angle = 60 support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag support_bottom_stair_step_height = =layer_height support_infill_rate = 25 support_interface_enable = True support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height support_join_distance = 3 support_line_width = =round(line_width * 0.4 / 0.35, 2) support_offset = 1.5 support_pattern = triangles support_use_towers = False -support_xy_distance = =wall_line_width_0 / 2 +support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 4 support_z_distance = 0 switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 12 top_bottom_thickness = 1 -travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =wall_line_width wall_thickness = 1 diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index b813e8474d..1e9218d262 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -6,24 +6,36 @@ definition = ultimaker3 [metadata] author = ultimaker type = variant +setting_version = 2 [values] +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) +acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) cool_fan_speed_max = =cool_fan_speed +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 +machine_nozzle_id = BB 0.4 material_print_temperature = 215 +raft_base_speed = 20 +raft_interface_speed = 20 +raft_speed = 25 retraction_extrusion_window = =retraction_amount speed_layer_0 = 20 +speed_support = =math.ceil(speed_print * 25 / 35) +speed_support_interface = =math.ceil(speed_support * 20 / 25) +speed_support_bottom = =math.ceil(speed_support_interface * 10 / 20) speed_wall_0 = =math.ceil(speed_wall * 25 / 30) support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag support_bottom_stair_step_height = =layer_height -raft_interface_speed = 20 -raft_base_speed = 20 support_infill_rate = 25 support_interface_enable = True +support_interface_skip_height = =layer_height support_join_distance = 3 support_line_width = =round(line_width * 0.4 / 0.35, 2) support_offset = 3 -support_xy_distance = =wall_line_width_0 * 3 +support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 2 -raft_speed = 25 - diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index b89ce4406b..8f97e448b0 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -6,6 +6,7 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant +setting_version = 2 [values] acceleration_enabled = True @@ -30,6 +31,7 @@ line_width = =machine_nozzle_size machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 machine_nozzle_heat_up_speed = 1.5 +machine_nozzle_id = AA 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 material_final_print_temperature = =material_print_temperature - 10 @@ -37,7 +39,6 @@ material_initial_print_temperature = =material_print_temperature - 5 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_enable = False -prime_tower_size = 16 prime_tower_wipe_enabled = True retract_at_layer_change = True retraction_amount = 6.5 @@ -60,7 +61,6 @@ support_z_distance = =layer_height * 2 switch_extruder_prime_speed = 20 switch_extruder_retraction_amount = 16.5 top_bottom_thickness = 1.4 -travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =wall_line_width wall_thickness = 2 diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index 6fa09c32ea..f35210383e 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -6,10 +6,12 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant +setting_version = 2 [values] brim_width = 7 machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_id = AA 0.4 machine_nozzle_size = 0.4 raft_airgap = 0.3 raft_base_speed = 15 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index e4fb152ee0..0374068186 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -6,11 +6,14 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant +setting_version = 2 [values] acceleration_enabled = True acceleration_print = 4000 -acceleration_support_interface = =math.ceil(acceleration_topbottom * 100 / 500) +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) +acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) brim_width = 3 cool_fan_speed = 50 cool_min_speed = 5 @@ -20,10 +23,13 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_support_interface = =math.ceil(jerk_topbottom * 1 / 5) +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_heat_up_speed = 1.5 +machine_nozzle_id = BB 0.8 machine_nozzle_size = 0.8 machine_nozzle_tip_outer_diameter = 2.0 material_print_temperature = =default_material_print_temperature + 10 @@ -53,26 +59,29 @@ retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 speed_print = 35 -speed_support_interface = =math.ceil(speed_topbottom * 15 / 20) +speed_support = =math.ceil(speed_print * 25 / 35) +speed_support_interface = =math.ceil(speed_support * 20 / 25) +speed_support_bottom = =math.ceil(speed_support_interface * 10 / 20) speed_wall_0 = =math.ceil(speed_wall * 25 / 30) support_angle = 60 support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag support_bottom_stair_step_height = =layer_height support_infill_rate = 25 support_interface_enable = True support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height support_join_distance = 3 support_line_width = =round(line_width * 0.4 / 0.35, 2) support_offset = 1.5 support_pattern = triangles support_use_towers = False -support_xy_distance = =wall_line_width_0 / 2 +support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 4 support_z_distance = 0 switch_extruder_prime_speed = 15 switch_extruder_retraction_amount = 12 top_bottom_thickness = 1 -travel_avoid_distance = 3 wall_0_inset = 0 wall_line_width_x = =wall_line_width wall_thickness = 1 diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index a7c43ea376..cc8fb187e8 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -6,22 +6,36 @@ definition = ultimaker3_extended [metadata] author = ultimaker type = variant +setting_version = 2 [values] -cool_fan_speed_max = 100 +acceleration_support = =math.ceil(acceleration_print * 2000 / 4000) +acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) +acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) +cool_fan_speed_max = =cool_fan_speed +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 -machine_nozzle_size = 0.4 -material_bed_temperature = 60 +machine_nozzle_id = BB 0.4 material_print_temperature = 215 -raft_acceleration = =acceleration_layer_0 -raft_jerk = =jerk_layer_0 +raft_base_speed = 20 +raft_interface_speed = 20 +raft_speed = 25 retraction_extrusion_window = =retraction_amount +speed_layer_0 = 20 +speed_support = =math.ceil(speed_print * 25 / 35) +speed_support_interface = =math.ceil(speed_support * 20 / 25) +speed_support_bottom = =math.ceil(speed_support_interface * 10 / 20) speed_wall_0 = =math.ceil(speed_wall * 25 / 30) support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag support_bottom_stair_step_height = =layer_height +support_infill_rate = 25 support_interface_enable = True +support_interface_skip_height = =layer_height +support_join_distance = 3 support_line_width = =round(line_width * 0.4 / 0.35, 2) -support_pattern = triangles -support_use_towers = False -support_xy_distance = =wall_line_width_0 * 3 +support_offset = 3 +support_xy_distance = =round(wall_line_width_0 * 0.75, 2) support_xy_distance_overhang = =wall_line_width_0 / 2 diff --git a/tests/Settings/TestCuraContainerRegistry.py b/tests/Settings/TestCuraContainerRegistry.py index 7b191a8376..11e772c3b7 100644 --- a/tests/Settings/TestCuraContainerRegistry.py +++ b/tests/Settings/TestCuraContainerRegistry.py @@ -11,6 +11,7 @@ from cura.Settings.CuraContainerRegistry import CuraContainerRegistry #The class from cura.Settings.ExtruderStack import ExtruderStack #Testing for returning the correct types of stacks. from cura.Settings.GlobalStack import GlobalStack #Testing for returning the correct types of stacks. from UM.Resources import Resources #Mocking some functions of this. +import UM.Settings.InstanceContainer #Creating instance containers to register. import UM.Settings.ContainerRegistry #Making empty container stacks. import UM.Settings.ContainerStack #Setting the container registry here properly. from UM.Settings.DefinitionContainer import DefinitionContainer @@ -18,7 +19,15 @@ from UM.Settings.DefinitionContainer import DefinitionContainer ## Gives a fresh CuraContainerRegistry instance. @pytest.fixture() def container_registry(): - return CuraContainerRegistry() + registry = CuraContainerRegistry() + UM.Settings.InstanceContainer.setContainerRegistry(registry) + UM.Settings.ContainerStack.setContainerRegistry(registry) + return registry + +## Gives an arbitrary definition container. +@pytest.fixture() +def definition_container(): + return DefinitionContainer(container_id = "Test Definition") def teardown(): #If the temporary file for the legacy file rename test still exists, remove it. @@ -26,6 +35,83 @@ def teardown(): if os.path.isfile(temporary_file): os.remove(temporary_file) +## Tests whether addContainer properly converts to ExtruderStack. +def test_addContainerExtruderStack(container_registry, definition_container): + container_registry.addContainer(definition_container) + + container_stack = UM.Settings.ContainerStack.ContainerStack(stack_id = "Test Container Stack") #A container we're going to convert. + container_stack.addMetaDataEntry("type", "extruder_train") #This is now an extruder train. + container_stack.insertContainer(0, definition_container) #Add a definition to it so it doesn't complain. + + mock_super_add_container = unittest.mock.MagicMock() #Takes the role of the Uranium-ContainerRegistry where the resulting containers get registered. + with unittest.mock.patch("UM.Settings.ContainerRegistry.ContainerRegistry.addContainer", mock_super_add_container): + container_registry.addContainer(container_stack) + + assert len(mock_super_add_container.call_args_list) == 1 #Called only once. + assert len(mock_super_add_container.call_args_list[0][0]) == 1 #Called with one parameter. + assert type(mock_super_add_container.call_args_list[0][0][0]) == ExtruderStack + +## Tests whether addContainer properly converts to GlobalStack. +def test_addContainerGlobalStack(container_registry, definition_container): + container_registry.addContainer(definition_container) + + container_stack = UM.Settings.ContainerStack.ContainerStack(stack_id = "Test Container Stack") #A container we're going to convert. + container_stack.addMetaDataEntry("type", "machine") #This is now a global stack. + container_stack.insertContainer(0, definition_container) #Must have a definition. + + mock_super_add_container = unittest.mock.MagicMock() #Takes the role of the Uranium-ContainerRegistry where the resulting containers get registered. + with unittest.mock.patch("UM.Settings.ContainerRegistry.ContainerRegistry.addContainer", mock_super_add_container): + container_registry.addContainer(container_stack) + + assert len(mock_super_add_container.call_args_list) == 1 #Called only once. + assert len(mock_super_add_container.call_args_list[0][0]) == 1 #Called with one parameter. + assert type(mock_super_add_container.call_args_list[0][0][0]) == GlobalStack + +def test_addContainerGoodSettingVersion(container_registry, definition_container): + from cura.CuraApplication import CuraApplication + definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion + container_registry.addContainer(definition_container) + + instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance") + instance.addMetaDataEntry("setting_version", CuraApplication.SettingVersion) + instance.setDefinition(definition_container) + + mock_super_add_container = unittest.mock.MagicMock() #Take the role of the Uranium-ContainerRegistry where the resulting containers get registered. + with unittest.mock.patch("UM.Settings.ContainerRegistry.ContainerRegistry.addContainer", mock_super_add_container): + container_registry.addContainer(instance) + + mock_super_add_container.assert_called_once_with(instance) #The instance must have been registered now. + +def test_addContainerNoSettingVersion(container_registry, definition_container): + from cura.CuraApplication import CuraApplication + definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion + container_registry.addContainer(definition_container) + + instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance") + #Don't add setting_version metadata. + instance.setDefinition(definition_container) + + mock_super_add_container = unittest.mock.MagicMock() #Take the role of the Uranium-ContainerRegistry where the resulting container should not get registered. + with unittest.mock.patch("UM.Settings.ContainerRegistry.ContainerRegistry.addContainer", mock_super_add_container): + container_registry.addContainer(instance) + + mock_super_add_container.assert_not_called() #Should not get passed on to UM.Settings.ContainerRegistry.addContainer, because the setting_version is interpreted as 0! + +def test_addContainerBadSettingVersion(container_registry, definition_container): + from cura.CuraApplication import CuraApplication + definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion + container_registry.addContainer(definition_container) + + instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance") + instance.addMetaDataEntry("setting_version", 9001) #Wrong version! + instance.setDefinition(definition_container) + + mock_super_add_container = unittest.mock.MagicMock() #Take the role of the Uranium-ContainerRegistry where the resulting container should not get registered. + with unittest.mock.patch("UM.Settings.ContainerRegistry.ContainerRegistry.addContainer", mock_super_add_container): + container_registry.addContainer(instance) + + mock_super_add_container.assert_not_called() #Should not get passed on to UM.Settings.ContainerRegistry.addContainer, because the setting_version doesn't match its definition! + ## Tests whether loading gives objects of the correct type. @pytest.mark.parametrize("filename, output_class", [ ("ExtruderLegacy.stack.cfg", ExtruderStack), @@ -36,7 +122,6 @@ def teardown(): ]) def test_loadTypes(filename, output_class, container_registry): #Mock some dependencies. - UM.Settings.ContainerStack.setContainerRegistry(container_registry) Resources.getAllResourcesOfType = unittest.mock.MagicMock(return_value = [os.path.join(os.path.dirname(os.path.abspath(__file__)), "stacks", filename)]) #Return just this tested file. def findContainers(container_type = 0, id = None): diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py index 4e55411d9d..4cafde5127 100644 --- a/tests/Settings/TestExtruderStack.py +++ b/tests/Settings/TestExtruderStack.py @@ -250,7 +250,8 @@ def test_getPropertyFallThrough(extruder_stack): container_indices = cura.Settings.CuraContainerStack._ContainerIndexes #Cache. for type_id, type_name in container_indices.IndexTypeMap.items(): container = unittest.mock.MagicMock() - container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else None #Returns the container type ID as layer height, in order to identify it. + # Return type_id when asking for value and -1 when asking for limit_to_extruder + container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else (None if property != "limit_to_extruder" else "-1") #Returns the container type ID as layer height, in order to identify it. container.hasProperty = lambda key, property: key == "layer_height" container.getMetaDataEntry = unittest.mock.MagicMock(return_value = type_name) mock_layer_heights[type_id] = container diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py old mode 100644 new mode 100755 index 539de4929e..c6491d574c --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -12,6 +12,7 @@ from UM.Settings.InstanceContainer import InstanceContainer #To test against the from UM.Settings.SettingInstance import InstanceState import UM.Settings.ContainerRegistry import UM.Settings.ContainerStack +import UM.Settings.SettingDefinition #To add settings to the definition. ## Fake container registry that always provides all containers you ask of. @pytest.yield_fixture() @@ -69,20 +70,48 @@ def test_addExtruder(global_stack): assert len(global_stack.extruders) == 0 first_extruder = unittest.mock.MagicMock() + first_extruder.getMetaDataEntry = lambda key: 0 if key == "position" else None with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): global_stack.addExtruder(first_extruder) assert len(global_stack.extruders) == 1 assert global_stack.extruders[0] == first_extruder second_extruder = unittest.mock.MagicMock() + second_extruder.getMetaDataEntry = lambda key: 1 if key == "position" else None with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): global_stack.addExtruder(second_extruder) assert len(global_stack.extruders) == 2 assert global_stack.extruders[1] == second_extruder - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): - with pytest.raises(TooManyExtrudersError): #Should be limited to 2 extruders because of machine_extruder_count. - global_stack.addExtruder(unittest.mock.MagicMock()) + # Disabled for now for Custom FDM Printer + # with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): + # with pytest.raises(TooManyExtrudersError): #Should be limited to 2 extruders because of machine_extruder_count. + # global_stack.addExtruder(unittest.mock.MagicMock()) assert len(global_stack.extruders) == 2 #Didn't add the faulty extruder. +## Tests getting the approximate material diameter. +@pytest.mark.parametrize("diameter, approximate_diameter", [ + #Some real-life cases that are common in printers. + (2.85, 3), + (1.75, 2), + (3.0, 3), + (2.0, 2), + #Exceptional cases. + (0, 0), + (-10.1, -10), + (-1, -1), + (9000.1, 9000) +]) +def test_approximateMaterialDiameter(diameter, approximate_diameter, global_stack): + global_stack.definition = DefinitionContainer(container_id = "TestDefinition") + material_diameter = UM.Settings.SettingDefinition.SettingDefinition(key = "material_diameter", container = global_stack.definition) + material_diameter.addSupportedProperty("value", UM.Settings.SettingDefinition.DefinitionPropertyType.Any, default = diameter) + global_stack.definition.definitions.append(material_diameter) + assert float(global_stack.approximateMaterialDiameter) == approximate_diameter + +## Tests getting the material diameter when there is no material diameter. +def test_approximateMaterialDiameterNoDiameter(global_stack): + global_stack.definition = DefinitionContainer(container_id = "TestDefinition") + assert global_stack.approximateMaterialDiameter == "-1" + #Tests setting user changes profiles to invalid containers. @pytest.mark.parametrize("container", [ getInstanceContainer(container_type = "wrong container type"), @@ -349,7 +378,7 @@ def test_getPropertyResolveInInstance(global_stack): instance_containers = {} for container_type in container_indices.IndexTypeMap: instance_containers[container_type] = unittest.mock.MagicMock() #Sets the resolve and value for bed temperature. - instance_containers[container_type].getProperty = lambda key, property: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else 5)) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. + instance_containers[container_type].getProperty = lambda key, property: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else (5 if property != "limit_to_extruder" else "-1"))) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. instance_containers[container_type].getMetaDataEntry = unittest.mock.MagicMock(return_value = container_indices.IndexTypeMap[container_type]) #Make queries for the type return the desired type. instance_containers[container_indices.Definition].getProperty = lambda key, property: 10 if (key == "material_bed_temperature" and property == "value") else None #Definition only has value. with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. @@ -373,7 +402,7 @@ def test_getPropertyResolveInInstance(global_stack): # definitions. def test_getPropertyInstancesBeforeResolve(global_stack): value = unittest.mock.MagicMock() #Sets just the value. - value.getProperty = lambda key, property: (10 if property == "value" else InstanceState.User) if key == "material_bed_temperature" else None + value.getProperty = lambda key, property: (10 if property == "value" else (InstanceState.User if property != "limit_to_extruder" else "-1")) if key == "material_bed_temperature" else None value.getMetaDataEntry = unittest.mock.MagicMock(return_value = "quality") resolve = unittest.mock.MagicMock() #Sets just the resolve. resolve.getProperty = lambda key, property: 7.5 if (key == "material_bed_temperature" and property == "resolve") else None